我正在尝试设置DLQ以从Lambda函数捕获失败的事件。
以下是我所做的:
现在,通过“队列操作”,我可以发送一条消息,并看到它显示在“可用消息”中。但是,如果我向lambda函数发送http请求——我故意创建了一个格式错误的JSON,其异常没有被捕获——我在CloudWatch中看到了错误消息,但没有向QueueX发送任何消息。
我错过了什么?
根据你的最新评论:
通过将来自Postman的HTTP请求直接发布到lambda的Api网关进行测试
这就是你面临的问题的原因。
为了解释,当您有一个面向Lambda的应用编程接口网关代理时,应用编程接口网关处理Lambda发回的错误案例(而不是具有DLQ配置的Lambda服务本身),错误不会最终出现在DLQ中。为了实现DLQ,您需要不同的设计,可能类似于对SNS的调用-
如果你没有代理集成,你也可以解决这个问题,但是我还没有亲自测试过,我不确定这是否可行。
我有一个lambda函数,我想为它创建一个SQS死信队列。我首先在Terraform中创建SQS: 这是来自Terraform的例子。但是,我被redrive_policy卡住了。 我是否正确理解,这为SQS队列设置了一个死信队列? 如果我设置了redrive_policy,这意味着我在一个DLQ上设置了一个DLQ。我觉得可以在DLQ上设置DLQ,在DLQ上设置DLQ,以此类推。 我找不到这方面的
C#.NetCore 2.2-Azure服务总线3.4.0 我在Azure Service Bus中有3个相同属性的队列。当向这些队列发送消息时,其中一个队列中的消息总是被传递到死信队列,而其他两个队列接收活动消息。 静态异步任务SendMessagesAsync(int numberOfMessagesToSend){ } 如何防止邮件进入死信队列?为什么只发生1个队列,而不是其他2个?
我正在尝试设计一个基于SQS、Lambda和SNS的小型消息处理系统。在失败的情况下,我希望将消息排入死信队列(DLQ)中,并调用webhook。 目前,如果一切顺利,流程应该是这样的: SQS(用于处理重试)将消息排入队列 lambda由SQS调用并处理消息 lambda发送webhook,并正常完成 如果lambda中的某些东西出错(无法调用success webhook,无法处理手头的任务)
在SNS话题上设置死信队列和在Lambda功能上设置死信队列有什么区别? 我在想,因为如果您在SNS订阅上设置DLQ,那么当Lambda(订阅者)失败时,订阅消息将故障转移到DLQ,对吗?那么在这种情况下,在这两个地方设置DLQ会有相同的效果吗? 我在SNS主题订阅上设置了一个DLQ,它并没有“自动”地显示为Lambda屏幕设置上的DLQ,所以我想可能会有一些不同? SNS死信队列ref:http
我有一个现有的AWS Lambda(通过CloudFormation创建),现在我想修改它,使它有一个死信队列。本质上,这允许我重新配置Lambda,这样,如果它在执行期间无法处理/使用SQS消息,AWS将自动将消息发布到我选择的“死信队列”(DLQ)。 我一辈子都想不出该怎么加上: 我的Lambdas CF配置,如上面链接的文章所示。我能做的最接近的事情是: 在Lambdas主页上选择“管理此堆
在JavaScript中,我按住两个键,并且被完美触发。当我释放其中一个键时,被触发。到目前为止一切都很好。但是我仍然按住一个键,那么为什么没有被触发呢?我需要在我的游戏中发生这种情况。我做错了什么吗?这是预期的反应吗?有什么解决办法吗?