![如何从 lambda 触发 S3(不同区域)事件?](https://linux22.com/image/739490/%E5%A6%82%E4%BD%95%E4%BB%8E%20lambda%20%E8%A7%A6%E5%8F%91%20S3%EF%BC%88%E4%B8%8D%E5%90%8C%E5%8C%BA%E5%9F%9F%EF%BC%89%E4%BA%8B%E4%BB%B6%EF%BC%9F.png)
我可以使用 S3- 相同区域创建 lambda 触发器。但是使用不同区域 S3 创建触发器时出现错误
The bucket imebuckt must be in the same region as arn:aws:lambda:ap-south-1::function:ProcessImage.
我该如何修复它?
答案1
S3 事件无法在不同区域触发 lambda。您可以做的例如:
发送S3 事件到SNS 话题或者SQS 队列并从该消息中触发目标区域中的 lambda。
在同一区域触发 LambdaS3 事件并触发你的目标区域 Lambda从第一个 Lambda 开始。
或者将上述两者混合使用 - S3 区域中的 Lambda 将消息发送到目标区域中的 SNS 主题或 SQS 队列您的目标 lambda 在哪里对其进行处理。
我会做类似的事情。希望有帮助 :)
答案2
以下可以是一个选项
S3(区域 1)--> SNS(区域 1)--> SQS(区域 2)--> Lambda(区域 2)
答案3
我认为另一种解决方案是调用与触发器位于同一 s3 区域中的 Lambda,并在您首选的区域中创建另一个 Lambda,然后使用 Lambda 的函数 URL 发布有效负载。我认为这比 SES 到 SQS 更容易设置。我会亲自尝试一下。