我正在使用包中的官方Node的AWS SDK和SQS模块
import { SQS } from 'aws-sdk';
等待SQS消息的正确方式是什么?
我目前的实现是
const message = await this.sqs.receiveMessage({ QueueUrl: url }).promise();
我原以为它会一直等到新消息进入队列,但它并不是这样工作的。当队列中没有消息时,它实际上只是返回不包含Messages
密钥的对象。
我的想法是实现一个间隔,每隔一秒左右发送一次请求,但这似乎是在重新发明轮子。
从这样的队列接收消息的正确方式是什么?
您可以使用Node.js库sqs-consumer
,它被广泛使用。