我有一个使用node12运行时用JavaScript编写的AWS lambda函数。如果我无法处理sqs事件中给出的消息,如何告诉队列我无法处理消息并将消息留在队列中?

它是否需要http响应,并带有状态码(例如200)或500(失败),或者lambda是否需要抛出错误以表示未处理,因此是否需要响应。

我在sqs事件处理函数中找不到预期的响应。处理程序期望返回什么?

async function handler(event) {
    try {
        const body = event.Records[0].body;
        // do some process
        // what do I return if successful
    } catch (err) {
        // what do I return if my process wasn't successful
    }
}

最佳答案

这个简单的答案是,您抛出一个错误,它将认为失败。当然,随后lambda重试逻辑开始起作用,因此您也需要了解这一点。 This page讨论了lambda中的错误处理,并对不同情况进行了很好的细分。

07-24 09:39
查看更多