Как создать значение конфигурации хранилища параметров с помощью Serverless Framework? - PullRequest
0 голосов
/ 05 августа 2020

У меня есть следующая очередь, которая создается с помощью файла serverless.yml проекта Serverless Framework:

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

Как мне взять URL-адрес создаваемой очереди и сохранить его как параметр в AWS Системный менеджер? Мне нужно сохранить его там, чтобы другие приложения, кроме этого, знали, как получить к нему доступ.

1 Ответ

0 голосов
/ 06 августа 2020

Я разобрался. Поскольку бессерверная структура расширяет 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 подходит для моего случая использования.

...