【问题标题】:How do I create a parameter store configuration value with Serverless Framework?如何使用无服务器框架创建参数存储配置值?
【发布时间】:2020-11-26 02:20:28
【问题描述】:

我有以下使用 Serverless Framework 项目的 serverless.yml 文件创建的队列:

resources:
  Resources:
    myAppSQSQueue:
      Type: "AWS::SQS::Queue"
      Properties:
        QueueName: "my-app-sqs-queue-${opt:stage, self:provider.stage}"

如何获取创建的队列的 URL 并将其作为参数存储在 AWS Systems Manager 中?我需要将它存储在那里,以便除此之​​外的其他应用程序知道如何访问它。

【问题讨论】:

  • 需要访问什么应用程序?为什么不直接输出这个值?
  • 这是一个完全不同的应用程序,与此无关。

标签: amazon-sqs serverless-framework aws-parameter-store aws-systems-manager


【解决方案1】:

我想通了。由于无服务器框架扩展了 CloudFormation,我在这里的 Cloud Formation 文档中找到了答案:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html

可以这样做:

resources:
  Resources:
    myAppSQSQueue:
      Type: "AWS::SQS::Queue"
      Properties:
        QueueName: "my-app-sqs-queue-${opt:stage, self:provider.stage}"
    myAppSSMParameterQueueName:
      Type: AWS::SSM::Parameter
      Properties:
        Name: /${opt:stage, self:provider.stage}/sqs/my-app-param-name
        Type: String
        Value: 
          Fn::GetAtt:
            - myAppSQSQueue
            - Arn
        Tags:
          Environment: ${opt:stage, self:provider.stage}

这会将队列的 ARN 存储在参数存储中。我不确定是否可以获取 url,但 ARN 适合我的用例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2020-04-25
    相关资源
    最近更新 更多