Я пытаюсь записать в очередь SQS, которую создаю в том же шаблоне SAM, что и моя лямбда. Чтобы отправить сообщение в очередь, мне нужен URL-адрес.
client.send_message(QueueUrl='string', MessageBody='string', ...)
Я могу получить URL-адрес, если у меня есть имя очереди (client.get_queue_url(QueueName='string', QueueOwnerAWSAccountId='string')
), но оно генерируется случайным образом при развертывании SAM. Для функции вы можете указать имя функции в файле template.yaml, но я не нашел примера этого для очереди.
Я знаю, что в template.yaml я могу использовать !Ref MyQueue
, но я не знаю эквивалента для использования в лямбде. Я предполагаю, что уловка есть, просто я не знаю этого трюка :)