代码之家  ›  专栏  ›  技术社区  ›  Rudiger

基于S3触发器在S3上更新文件

  •  0
  • Rudiger  · 技术社区  · 6 年前

    我正在将一个文件上载到S3,并在S3上有一个触发器,该触发器运行lambda函数来更新该文件。当我在更新后将文件写回S3时,是否会触发lambda再次运行,从而导致对文件的无限更新循环?

    另一个lambda函数正在将文件放在那里。如果它导致无限循环,我将使用sns,但是对于我的用例来说,这将更加复杂。

    1 回复  |  直到 6 年前
        1
  •  2
  •   K Mo    6 年前

    你所描述的,确实会导致一个无限循环。

    我可以看到两种选择来避免这种情况。

    最简单的方法是将修改后的文件放到一个单独的bucket中(如果将S3触发器设置为其他文件夹,则将其放到一个单独的文件夹中)。

    另一个选项是调用lambda,该lambda从将文件放入S3的lambda更新文件。您可以在这里使用一个中间人,例如,第一个lambda向sns/sqs发送一些东西,而sns/sqs又触发更新文件的lambda。