1

我正在寻找一种方法来暂时禁用DynamoDB上的Lambda触发器。我希望能够在不将Lambda代码作为触发器的情况下在表上应用手动更新(例如,从S3备份导入数据)。我尝试了lambda函数“触发器”选项卡中触发器旁边的禁用按钮。我也尝试禁用表的整个流。在这两种情况下,当重新激活触发器/流时,所有触发事件(发生时,它们被禁用时)都会被执行。暂时禁用DynamoDB Lambda触发器/流

如何防止此代码被触发?

非常感谢!

+2

将触发器添加回lambda函数时,您将起始位置设置为?在这种情况下它需要最新。如果设置为TRIM_HORIZON,它将从流中最旧的记录开始(流记录保留24小时)。 –

+0

好吧,我想知道这是否是我的问题的关键。但我对此仍然有点不安。从lambda控制台创建触发器时,我可以设置起始位置。所以当我将触发器设置为在最新开始时,它将在禁用并再次手动启用后执行此操作。但是,如果存在某种错误或瓶颈,它是否也会影响它通常的工作方式?是否仍然有保证,所有事件都将由触发器处理?我不太清楚这个设置。不要忘记:已经感谢你,这对我来说是一个重要的答案! – weka1

+1

仅设置起始位置会影响从何处开始读取流。除此之外,它根本不影响流的行为。在lambda函数返回成功之前,流将不会继续,因此如果遇到错误,则将使用相同的事件数据再次调用该函数。在这里你必须小心,因为如果它是你的代码中的错误(即不是api调用错误),那么你将会陷入这一点。然而,这是一个需要注意的问题,不管流的起始位置为 –

回答