【问题标题】:Enable/Disable or delete aws lambda trigger on s3:Objectcreated.* using python使用 python 在 s3:Objectcreated.* 上启用/禁用或删除 aws lambda 触发器
【发布时间】:2022-05-06 05:26:32
【问题描述】:

我有一个 lambda 函数,当 Bucket A-prod 中的任何新 objectCreated(s3:Objectcreated.*) 时触发,此 lambda 处理文件将结果保存在 B-pr​​od 中。

现在我想在 QA 上恢复这些数据,我正在为此编写一个脚本,我不想再次处理文件。就我而言,我将通过 python 脚本将 B-pr​​od 复制到 B-qa 并将 A-prod 复制到 A-qa。

  1. 如果我可以暂时禁用 lambda 触发器,那就太好了,但这是不可能的,因为 aws 不再允许禁用(在 aws 控制台上是灰色的)。
  2. 我可以从 aws 控制台删除触发器,但找不到如何从 python 或 cli 执行此操作。 AWS Console Screenshot Lambda Function Trigger

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda boto3


    【解决方案1】:

    无法从 python 或 cli 中找到如何做到这一点。

    在 boto3 中,您使用 put_bucket_notification_configuration 提供空通知。

    【讨论】:

    • 谢谢,它就像一个魅力。这就是我想要的。
    【解决方案2】:

    对于希望在不删除触发器的情况下从 AWS 控制台临时禁用的任何人,这里有一个解决方法。请注意,这并不意味着永久解决方案。我不得不暂时禁用它,它可以工作。

    转到 S3 > 存储桶 > your-bucket > 属性

    向下滚动到“事件通知”

    您应该在 Destination 中看到您的 Lambda 函数, 选择编辑, 取消选中“所有对象创建事件”, 检查您的流程中不会发生的另一种事件类型,例如“对象标记”, 保存。

    完成后,通过选中“对象创建事件”并取消选中其他事件来启用。

    【讨论】:

      猜你喜欢
      • 2019-05-02
      • 2021-11-17
      • 2020-01-03
      • 2019-03-26
      • 1970-01-01
      • 2020-02-09
      • 2018-01-16
      • 2016-02-19
      • 1970-01-01
      相关资源
      最近更新 更多