如何删除现有的S3事件通知?

时间:2019-02-05 15:05:28

标签: amazon-s3 aws-lambda

当我尝试从S3删除事件通知时,收到以下消息:

enter image description here

在文字中:

  

无法验证以下目标配置。无权调用函数[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)

如何删除现有的事件通知?我该如何进一步调查问题?

4 个答案:

答案 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 输出