Ari*_*Jnr 5 javascript amazon-sqs amazon-web-services node.js aws-lambda
我有一个 AWS lambda 函数,它使用来自 AWS SQS 队列的数据。如果该 lambda 在处理消息数据时发现问题,则必须将该消息添加到死信队列中。
我发现的文档并不清楚如何让 lambda 将消息发送到死信队列。这是如何实现的?
我应该使用 sendMessage() 方法,就像插入标准队列一样,还是有更好的方法?
如果返回该消息太多次(可通过属性在队列上配置), AWS 会自动将消息发送到您的死信队列 (DLQ) - 通常,如果您收到一条消息,但不删除它(如果例如,您在处理它时遇到了一些异常)。这是使用 DLQ 的最简单方法 - 让 AWS 为您将消息放在那里。receiveMessagemaxReceiveCount
但是,手动向 DLQ 发送消息并没有什么问题。它没有什么特别的 - 它只是另一个队列 - 您可以从它发送和接收消息,甚至给它自己的 DLQ!
手动向 DLQ 发送消息在多种情况下很有用,最简单的一种情况就是您的情况:当您知道消息已损坏(并且希望节省尝试重新处理它的时间)时。另一个例子是,如果您需要快速销毁主队列中的旧项目,但仍保存这些消息以供稍后处理 - 使您能够通过首先处理较新的事件来赶上积压的情况。
手动向 DLQ 发送消息时要记住的关键事项是:
deleteMessage),以便 AWS 的自动机制稍后不会将其放在那里。
| 归档时间: |
|
| 查看次数: |
4735 次 |
| 最近记录: |