当前位置:主页 > 查看内容

nodejs AMQP服务端订阅的实现

发布时间:2021-04-07 00:00| 位朋友查看

简介:步骤 : ? 1)环境安装 node.js (下载安装包,下一步.....就行了) 这个是我的版本 IT-C1MPD4X5G943:webpack11 ganjun$ node -v v14.15.1 IT-C1MPD4X5G943:webpack11 ganjun$ 2)安装nodejs的包管理器 cnpm这个是我的版本 IT-C1MPD4X5G943:webpack11 ganjun$ cnpm……
步骤 : ?


1)环境安装 node.js (下载安装包,下一步.....就行了) 这个是我的版本

IT-C1MPD4X5G943:webpack11 ganjun$ node -v

v14.15.1

IT-C1MPD4X5G943:webpack11 ganjun$


2)安装nodejs的包管理器 cnpm这个是我的版本

IT-C1MPD4X5G943:webpack11 ganjun$ cnpm -v

cnpm 6.1.1 (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)

npm 6.14.9 (/usr/local/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)

node 14.15.1 (/usr/local/bin/node)

npminstall 3.28.0 (/usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)

prefix /usr/local

darwin x64 20.2.0

registry https://r.npm.taobao.org


3)参考官网代码

https://help.aliyun.com/document_detail/143599.html?spm a2c4g.11186623.6.656.5dd67cd8K9IMzE


4)代码以及依赖

在package.json中添加以下依赖。

 dependencies : {
 rhea : ^1.0.12 
 }


代码

constcontainer require( rhea );
constcrypto require( crypto );
//创建Connection。
varconnection container.connect({
//接入域名 请参见AMQP客户端接入说明文档。
 host : 11112560*******.iot-amqp.cn-shanghai.aliyuncs.com ,
 port :5671,
 transport : tls ,
 reconnect :true,
 idle_time_out :60000,
//userName组装方法 请参见AMQP客户端接入说明文档。其中的iotInstanceId 企业版实例请填写实例ID 公共实例直接删除${YourIotInstanceId}。
 username : 4444444444|authMode aksign,signMethod hmacsha1,timestamp 1573489088171,authId LTAIVne33sFywOG8,iotInstanceId ,consumerGroupId DEFAULT_GROUP| , 
//计算签名 password组装方法 请参见AMQP客户端接入说明文档。
 password :hmacSha1( 9ViU8********** , authId LTAIVne33sFywOG8 timestamp 1573489088171 ),
//创建Receiver Link。
varreceiver connection.open_receiver();
//接收云端推送消息的回调函数。
container.on( message , function(context) {
varmsg context.message;
varmessageId msg.message_id;
vartopic msg.application_properties.topic;
varcontent Buffer.from(msg.body.content).toString();
// 输出内容。
console.log(content);
//发送ACK 注意不要在回调函数有耗时逻辑。
context.delivery.accept();
//计算password签名。
functionhmacSha1(key, context) {
returnBuffer.from(crypto.createHmac( sha1 , key).update(context).digest())
.toString( base64 );
}






本文转自网络,原文链接:https://developer.aliyun.com/article/783344
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐