如何使用Serverless Framework创建参数存储配置值



我有以下队列,它是用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中?我需要把它存储在那里,这样除此之外的其他应用程序就知道如何访问它

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

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对我的用例来说很好。

相关内容

  • 没有找到相关文章