gpt4 book ai didi

amazon-web-services - SQS ReceiveMessage 成功但收到空消息

转载 作者:行者123 更新时间:2023-12-05 03:04:29 26 4
gpt4 key购买 nike

我在 lambda 中有以下代码来接收 SQS 消息:当我将消息注入(inject) SQS 时,lambda 触发,但显示 data.Messages 为空。

function receiveMessages(callback)
{
var params = {
QueueUrl: TASK_QUEUE_URL,
MaxNumberOfMessages: 2,
WaitTimeSeconds: 1,
AttributeNames: ["All"]
};

SQS.receiveMessage(params, function(err, data)
{
if (err)
{
console.error(err, err.stack);
callback(err);
}
else if (data.Messages == null)
{
console.log("null message", data);
callback(null,null);
}
else
{
callback(null, data.Messages);
}
});
}

我可能做错了什么并不明显。我尝试了 fifo 和非 fifo 队列

最佳答案

using an SQS Queue as a Lambda event source ,Lambda 服务的一个组件实际上轮询队列并将消息有效负载传递给数组 event.Records 中的函数调用,该数组将包含来自队列的一条或多条消息。消息在队列中暂时不可见(它们“正在飞行”)。

您不需要在此应用程序中直接与 SQS 交互。

您处理消息并成功退出 Lambda 函数,Lambda 轮询器会自动从队列中删除刚刚提供给您的所有消息。

如果抛出异常,您刚刚传递的所有消息都将重新设置为在队列中可见。

关于amazon-web-services - SQS ReceiveMessage 成功但收到空消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940383/

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