Я пытаюсь разработать безсерверное приложение с использованием облачной информации. Мне нужна функция 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")
, чтобы получить мои переменные.
У кого-нибудь из вас есть решение этой проблемы?