gpt4 book ai didi

amazon-web-services - AWS Lambda - 从 Lambda 队列中删除重复出现的失败事件

转载 作者:行者123 更新时间:2023-12-01 00:45:05 26 4
gpt4 key购买 nike

所以我有一些由 DynamoDB 流触发的 AWS lambda 函数。我已经使用了几次“配置测试”功能,并且我自己只是通过将虚拟数据手动添加到 DynamoDB 表来触发该功能。
我的问题是,现在我有了工作代码,但是因为我首先插入了错误的测试数据(与流入的实际事件数据的外观不匹配),每次我更新表或 lambda 函数本身时,它都不会处理其他事件,因为它会卡在我的旧的、坏的、测试数据上。 作为一个较小的问题,它使 CloudWatch 变得困惑。
理论上,我可以更改我的 Lambda 函数,这样它们就不能处理实际数据,而只能处理我糟糕的测试数据,然后一旦我的真实数据开始出现,我就可以将我的 Lambda 函数切换回正常状态,但是我觉得必须有更好的方法来做到这一点,而我只是不知道。
所以我想知道是否有任何方法可以:
1 - 查看在 Lambda 中失败并等待重新处理的事件队列?
2 - 删除该队列中的特定事件,以便 Lambda 不会重新处理它们?

最佳答案

两者的答案基本上是否定的。 Lambda 函数卡住了,因为它无法解析流并且 AWS 重试失败的函数(无法将其关闭)。

您可以从 dynamodb 中删除测试数据。或者,在对 Lambda 函数执行任何操作之前,对实际 event 进行一些验证检查。 .始终这样做的好习惯,因此作为奖励,您可以获得更具 future 证明的 Lambda 函数 :)

如果验证检查失败(在测试数据上),只需返回 context.succeed(); (Lambda 函数现在可以继续而不是重试)。如果验证通过,它会做它的事情。

支票可能是这样的:

exports.handler = function(event, context) {
if (typeof event.somethingNotAvailableInTestAndAvailableOnLive === 'undefined') {
context.succeed('Parsed test event...');
}

// Actual code...
}

您应该检查 dynamodb 特定的语法。

关于amazon-web-services - AWS Lambda - 从 Lambda 队列中删除重复出现的失败事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35112197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com