繁体   English   中英

如何在 Lambda 中引用通过 SAM 创建的 AWS 资源?

[英]How to reference an AWS resource created via SAM in a Lambda?

我正在尝试写入我在与 lambda 相同的 SAM 模板中创建的 SQS 队列。 要将消息发送到队列,我需要 URL。

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

如果我有队列的名称( client.get_queue_url(QueueName='string', QueueOwnerAWSAccountId='string') ),我可以获得 URL,但这是由 SAM 部署时随机生成的。 对于函数,您可以在 template.yaml 中指定 FunctionName,但我还没有为队列找到这样的示例。

我知道在 template.yaml 中我可以使用!Ref MyQueue但我不知道在 lambda 中使用的等效项。 我认为有一个技巧,我只是不知道那个技巧:)

您可以将队列 URL 作为环境变量传递给 lambda。 这允许您使用模板中的!Ref MyQueue来引用队列。 只需将其添加到 lambda 配置的Environment -> Variables部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM