Как ссылаться на ресурс AWS, созданный с помощью SAM в Lambda? - PullRequest
1 голос
/ 05 марта 2020

Я пытаюсь записать в очередь SQS, которую я создаю в том же шаблоне SAM, что и моя лямбда. Для отправки сообщения в очередь мне нужен URL.

client.send_message(QueueUrl='string', MessageBody='string', ...)

Я могу получить URL, если у меня есть имя очереди (client.get_queue_url(QueueName='string', QueueOwnerAWSAccountId='string')), но это генерируется случайным образом при развертывании SAM. Для функции вы можете указать FunctionName в template.yaml, но я не нашел пример этого для очереди.

Я знаю, что в template.yaml я могу использовать !Ref MyQueue, но я не знаю эквивалента для использования в лямбде. Я предполагаю, что есть трюк, я просто не знаю этот трюк:)

1 Ответ

1 голос
/ 05 марта 2020

Вы можете передать в URL-адрес очереди в качестве переменной среды лямбда-выражения. Это позволяет использовать !Ref MyQueue в шаблоне для ссылки на очередь. Просто добавьте это в раздел Environment -> Variables лямбда-конфигурации.

...