我正在尝试写入在与lambda相同的SAM模板中创建的SQS队列。要将消息发送到队列,我需要URL。
client.send_message(QueueUrl='string', MessageBody='string', ...)
如果我有队列的名称(client.get_queue_url(QueueName='string', QueueOwnerAWSAccountId='string')
),我可以获取URL,但这是由SAM部署时随机生成的。对于功能,可以在template.yaml中指定FunctionName,但是我还没有为Queue找到这样的示例。
我知道在template.yaml中可以使用!Ref MyQueue
,但是我不知道在lambda中使用的等效项。我认为这是一个把戏,我只是不知道那个把戏:)
答案 0 :(得分:1)
您可以将队列URL作为环境变量传递给lambda。这样,您就可以在模板中使用!Ref MyQueue
来引用队列。只需将其添加到lambda配置的Environment
-> Variables
部分即可。