有什么方法可以在特定条件下从 AWS lambda 函数内部将事件消息显式发送到死信队列?

Vin*_*ngh 5 amazon-s3 amazon-web-services dead-letter aws-lambda

我正在尝试通过调用 AWS lambda 函数将 s3event 消息发送到 rabbitmq。我已将 SQS 配置为我的死信队列 (DLQ)。我知道当 lambda 调用失败或超时或资源限制等情况时,消息会发送到 DLQ。我的问题是,我想在某些条件下从 lambda 函数内部向 DLQ 发送事件消息,例如 rabbitmq 已关闭或我感兴趣的其他一些条件。有没有同样的可能性?我应该抛出异常还是有其他更好的方法将事件消息发送到 DLQ。

我正在使用 java 进行开发并从我的 lambda 函数连接到 rabbitmq。

Jar*_*son 6

DLQ 只是一个 SQS 队列,因此您可以像发送任何其他队列一样向它发送消息。您希望它的格式与 Lambda 本地将消息放入 DLQ 的方式相同,以便您在 DLQ 上进行的任何处理都可以对所有消息执行相同的方式。您可能希望确保您将 lambda 视为在此实例中成功执行,以便正常的 DLQ 进程不会两次获取相同的消息。