测试Lambda之前的开发消耗事件中的Lambda



我有一个关于一个有趣的"bug";我一直在面对。

我有一个用lambda构建的rest api。当我向应用程序发送请求时,它会将文件推送到s3存储桶中。该bucket附加了一个事件通知,它将触发我的lambda使用该事件。

由于未来的校对,我不想一次处理整个文件。我需要这个额外的消费者。

我已经在我的开发环境中部署了一个lambda1来实现这个流。在合并之前,当我在dev中创建一个新的堆栈进行验证时,我们称之为lambda2,lambda1会消耗lambda2放入文件夹中的get。lambda2似乎也开始使用此事件,但lambda1首先完成并删除文件,使lambda2挂起。

即使在验证lambda2时,我也需要lambda1来保持活动状态。

你们对我如何做到这一点有什么建议吗?

如果我理解正确,lambda1lambda2都是由同一个S3 bucket触发的。如果您想分离您的环境,您应该在production环境中创建一个单独的存储桶来存储文件,否则,两个环境中的Lambda函数都将被触发。

您可以稍微修改它,将文件移动到另一个bucket上,而不是L1删除文件,并使用第二个bucket作为L2的触发器。一旦您确定L2有效,请将其触发器更改回原始bucket并禁用/删除L1触发器。

最新更新