簡體   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