首先,确保您具有与队列相同的 AWS 身份验证凭据和区域,然后确认该队列是否存在。如果队列存在且有消息,请尝试以下解决方案:
1.确保使用正确的队列 URL。
2.确保 SQS 客户端已正确配置。
3.确保发送消息的代码正确,并且与 Node.js 版本兼容。
以下是一个证明最小限度设置并尝试从队列中接收消息的示例代码:
var AWS = require('aws-sdk');
AWS.config.update({ accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey', region: 'region' });
var sqs = new AWS.SQS({ apiVersion: '2012-11-05' });
var params = {
QueueUrl: 'queueUrl',
AttributeNames: ['ALL'],
MaxNumberOfMessages: 1,
VisibilityTimeout: 0,
WaitTimeSeconds: 0
};
sqs.receiveMessage(params, function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
您可以使用此代码作为起点来解决您的问题,并进行自定义设置。