介绍
@remie/sqs 是一个 Node.js 的 Amazon Web Services (AWS) SQS (Simple Queue Service) 的封装库。其提供了简要且快速的方法与 SQS 接口交互。在此文中,我们将会详细介绍如何使用此 npm 包和解释它的各项特性。
安装
安装此包非常简单,在终端中输入如下命令:
npm install @remie/sqs --save
SQS 类
你可以使用 SQS 类的实例对象与 AWS SQS 接口进行交互。
构造函数
new SQS(AWSConfig, QueueURL, options);
SQS 构造函数接收以下参数:
AWSConfig
:一个已经被 AWS SDK 所加载的配置对象。请阅读 这个页面 来获取更多关于如何配置 AWS 认证的信息。QueueURL
:SQS 队列的 URL,这是一个字符串类型数据。options
:一个选项对象,它包含了 SQS 操作的默认值。其包括:receiveMessageWaitTimeSeconds
:默认值是 20,单位为秒。visibilityTimeout
:默认值为 30,单位为秒。waitTimeSeconds
:默认值为 0,单位为秒。
示例代码
-- -------------------- ---- ------- ----- --- - ------------------- ----- --- - ---------------------- ----- --------- - --- ------------ ------- ------------ ------------ ------------------------ ---------------- ------------------------------------------- --- ----- -------- - ------------------------------------------------------------ ----- ------- - - ------------------------------ --- ------------------ --- -- ----- --- - --- -------------- --------- ---------
方法
sendMessage
这个方法发送一条消息到 SQS 队列中。其接收一个消息体字符串并返回一个 Promise 对象。
sqs.sendMessage(messageBody);
示例代码
sqs.sendMessage('Test message') .then((result) => { console.log(result); }) .catch((error) => { console.error(error); });
receiveMessage
这个方法接收 SQS 队列中的消息。其返回一个 Promise 对象,其 resolve 一个 SQS 的消息对象。如果 SQS 队列为空,这个 Promise 对象就会被 reject 掉。
sqs.receiveMessage();
deleteMessage
这个方法删除一个 SQS 消息。其接收一个消息句柄字符串并返回一个 Promise 对象。
sqs.deleteMessage(receiptHandle);
示例代码
-- -------------------- ---- ------- --- -------------------- - ----- -------------------- --------------- -- - -------------------- - ---------------------- --------------------- ------ ---------------------------------------- -- -------------- -- - -------------------- -- -------------- -- - --------------------- ---
getQueueAttributes
这个方法获取一个 SQS 队列的属性信息。其接收一个属性名字符串和一个可选选项对象,并返回一个 Promise 对象。
sqs.getQueueAttributes(attributeName, options);
示例代码
-- -------------------- ---- ------- ----- ------------- - ------ ----- ------- - - --------------- ---------------- -- ------------------------------------- -------- -------------- -- - -------------------- -- -------------- -- - --------------------- ---
结论
@remie/sqs 包提供了一种便捷且易于使用的方法来与 AWS SQS 接口进行交互。使用此包,用户可以轻松地发送,获取和删除 SQS 队列中的消息。这个包的优点在于简单,这不仅节省了开发者们的时间,而且使代码更加容易被维护和扩展。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a730d09270238225ff