当我尝试从S3删除事件通知时,收到以下消息:
在文字中:
无法验证以下目标配置。无权调用函数[arn:aws:lambda:eu-west-1:FOOBAR:function:FOOBAR]。 (arn:aws:lambda:eu-west-1:FOOBAR:function:FOOBAR,null)
我组织中的任何人似乎都无法删除-甚至管理员也不能删除。
当我尝试通过Web界面在AWS Lambda中设置相同的S3事件通知作为触发器时,我得到了
配置定义不明确。如果同一事件类型的前缀重叠,则两个规则中的后缀不能重叠。 (服务:Amazon S3;状态代码:400;错误代码:InvalidArgument;请求ID:FOOBAR; S3扩展请求ID:FOOBAR / FOOBAR / FOOBAR)
如何删除现有的事件通知?我该如何进一步调查问题?
答案 0 :(得分:0)
今晚我遇到了同样的问题,并且执行了以下操作:
1)发出命令:
aws s3api put-bucket-notification-configuration --bucket=mybucket --notification-configuration="{}"
2)在控制台中,删除麻烦的事件。
答案 1 :(得分:0)
假设您在CLI中拥有更好的权限:
aws s3api put-bucket-notification-configuration --bucket=mybucket --notification-configuration='{"LambdaFunctionConfigurations": []}'
答案 2 :(得分:0)
他们不会让你做的,你必须创建更多的触发器,而你最终要为它们付费。
答案 3 :(得分:0)
AWS CLI 中没有“s3api 删除通知配置”。仅存在“s3api put-bucket-notification-configuration”,它将覆盖 s3 存储桶中任何先前存在的事件。因此,如果您只想删除特定事件,则需要以编程方式处理该事件。
是这样的: 步骤 1. 执行“s3api get-bucket-notification-configuration”并获取 s3-notification.json 文件。 第 2 步。现在编辑此文件以使用您的代码访问所需的 s3-notification.json 文件。 步骤 3. 最后,执行 's3api put-bucket-notification-configuration'(aws s3api put-bucket-notification-configuration --bucket my-bucket --notification-configuration file://s3-notification.json)
我曾在 AWS CLI 中研究过逻辑,它需要一个 jq 命令来合并 json 输出