如何在 CDK 中确定哪个 S3 存储桶触发了 Lambda?

0

【以下的问题经过翻译处理】 假设我有一个使用CDK来部署 S3 -> EventBridege -> Lambda 的堆栈,并且有许多S3桶会调用相同的Lambda。Lambda处理程序会根据源桶以不同的方式运行程序。

一般来说我们可以从传入事件中读取存储桶名称来知道哪个存储桶调用了Lambda,但由于每次进行新部署时存储桶名称可能不同,依赖存储桶名称似乎不可靠。

那么,在Lambda处理程序代码中,是否有更好的方法来知道哪个存储桶正在调用Lambda?

profile picture
专家
已提问 6 个月前29 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果我理解正确,您部署多个堆栈,每个堆栈都有不同的存储桶,但都使用相同的Lambda函数。您希望存储桶的名称由CFN确定,但是在函数中您需要知道原始存储桶,更具体地说,需要知道存储桶的用途而不是它的名称。

如果是这种情况,同时你的函数根据原始存储桶执行不同的操作,我建议创建不同的函数。这样,每个堆栈都将创建一个具有不同函数的不同S3存储桶,该函数知道该做什么。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则