nodejs AMQP服务端订阅的实现

简介: 目标: 明确个个参数的写法 ,以及环境要求.

步骤 :  


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');
}





目录
相关文章
|
消息中间件
消息中间件系列教程(16) -RabbitMQ-应答模式
消息中间件系列教程(16) -RabbitMQ-应答模式
78 0
|
8月前
|
消息中间件 Java
RabbitMQ中的消息发布-订阅模式是什么?如何实现?
RabbitMQ中的消息发布-订阅模式是什么?如何实现?
219 0
|
消息中间件 前端开发 JavaScript
Websocket Stomp+RabbitMQ实现消息推送
Websocket Stomp+RabbitMQ实现消息推送
618 0
|
消息中间件 JSON JavaScript
Springboot 整合Websocket+Stomp协议+RabbitMQ做消息代理 实例教程
Springboot 整合Websocket+Stomp协议+RabbitMQ做消息代理 实例教程
1918 0
Springboot 整合Websocket+Stomp协议+RabbitMQ做消息代理 实例教程
|
XML 消息中间件 数据格式
[原创]AMQP-RabbitMQ/6/RPC模式/关注消息处理结果
[原创]AMQP-RabbitMQ/6/RPC模式/关注消息处理结果
[原创]AMQP-RabbitMQ/6/RPC模式/关注消息处理结果
|
消息中间件 JavaScript 开发工具
阿里云物联网平台AMQP服务端订阅NodeJS Demo
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。本文主要演示如果使用NodeJs SDK进行AMQP服务端订阅
713 15
阿里云物联网平台AMQP服务端订阅NodeJS Demo
|
消息中间件 JavaScript 物联网
阿里云物联网平台AMQP服务端订阅NetSDK Demo
服务端可以直接订阅产品下所有类型的消息:设备上报消息、设备状态变化通知、网关发现子设备上报、设备生命周期变更、设备拓扑关系变更。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务端。本文主要演示如果使用NET SDK进行AMQP服务端订阅。
1845 15
阿里云物联网平台AMQP服务端订阅NetSDK Demo
|
存储 消息中间件 监控
消息中间件系列四、认识AMQP和RabbiyMq的简单使用
AMQP AMQP(advanced message queuing protocol)是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制 。
3460 10
|
存储 网络性能优化 数据库
我的mqtt协议和emqttd开源项目个人理解(8) - 客户端subscribe消息的源码分析
我的mqtt协议和emqttd开源项目个人理解(8) - 客户端subscribe消息的源码分析
164 0
|
消息中间件 缓存 JSON
我的mqtt协议和emqttd开源项目个人理解(13) - Hook使用和连接Kafka发送消息,使用brod库
我的mqtt协议和emqttd开源项目个人理解(13) - Hook使用和连接Kafka发送消息,使用brod库
372 0