Как получить URL SQS в переменной окружения моего go lambda при локальном запуске с SAM? - PullRequest
2 голосов
/ 30 марта 2019

Я пытаюсь разработать безсерверное приложение с использованием облачной информации. Мне нужна функция Go лямбда для отправки сообщений в SQS. Чтобы отправить эти сообщения, мне нужен URL-адрес очереди. Я должен хранить этот URL в переменных окружения моей лямбда-функции.

Но когда я запускаю его локально, с sam local start-api, моя переменная становится пустой. Когда я его развертываю, он работает, но я не могу проверить его локально.

Вот мой шаблон.yaml:

  APIGetFunction:
    Type: 'AWS::Serverless::Function'
    Properties:
      Handler: service_get_person 
      Runtime: go1.x
      CodeUri: ./src/person/service/get_person
      Description: 'Get a person'
      MemorySize: 128
      Timeout: 30
      Role: !GetAtt LambdaExecutionRole.Arn
      Events:
        GetEvent:
          Type: Api
          Properties:
            Path: /person
            Method: get
      Environment:
        Variables:
          QueueUrl: !Ref MyQueue
          REGION: eu-west-3

  MyQueue:
    Type: AWS::SQS::Queue
    Properties:
      QueueName: test_queue
      DelaySeconds: 0
      VisibilityTimeout: 120

Я использую os.Getenv("QueueUrl"), чтобы получить мои переменные.

У кого-нибудь из вас есть решение этой проблемы?

...