【发布时间】:2022-01-24 21:24:45
【问题描述】:
我似乎无法按预期触发我的 lambda。在 AWS EventBridge 中,我使用以下自定义事件模式创建了一个规则:
{
"source": ["aws.s3"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["s3.amazonaws.com"],
"eventName": [
"CopyObject",
"CompleteMultipartUpload",
"PutObject"
],
"requestParameters": {
"bucketName": ["my-bucket"],
"key": [{"prefix": "folder1/folder2/"}]
}
}
}
但是当我将文件上传到“目录”时,规则不会触发 lambda。
谁能告诉我哪里出错了?
【问题讨论】:
-
您已为选定的 s3 存储桶启用了 cloudtrail 事件,如文档所述 here?
-
三件事:1.为什么不直接使用S3触发器? 2.
eventNames可能会错过s3:前缀(例如s3:PutObject)和 3. 您是否授予 EventBridge 调用您的 Lamdba 的权限? -
@Jens - 我认为#3 可能是问题所在。你能指点我解释如何做到这一点的文档的方向吗?
-
我已经用云观察事件测试了你的用例,它对我有用。请找到以下解决方案
-
1. s3 事件通知加上资源,有理由更喜欢 eventbridge。我的问题:我也不能让我的工作,地区相关吗?我有 us-east-1 存储桶和 us-west-2 目标。是否需要事件总线设置?我迷路了。
标签: amazon-web-services amazon-s3 aws-lambda aws-event-bridge