日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Node.js SDK接入示例

本文介紹使用Node.js語言的AMQP SDK接入阿里云物聯網平臺,接收服務端訂閱消息的示例。

開發環境

支持使用的開發環境為Node.js 8.0.0及以上版本。

下載安裝SDK

Node.js版本AMQP SDK,推薦使用rhea。請訪問rhea下載庫和查看使用說明。

本文示例使用命令npm install rhea,下載rhea庫。

代碼示例

  1. 在Windows系統或Linux系統下載并安裝Node.js。本文以Windows 10(64位)系統為例,下載安裝包node-v14.15.1-x64.msi。

  2. 安裝成功后,打開CMD窗口,通過以下命令查看node版本。

    node --version

    顯示如下版本號,表示安裝成功。

    v14.15.1
  3. 在本地計算機創建一個JavaScript文件(例如amqp.js),用來存放Node.js示例代碼。

    示例代碼如下,按照以下表格中的參數說明,修改代碼中的參數值。

    const container = require('rhea');
    const crypto = require('crypto');
    
    //創建Connection。
    var connection = container.connect({
        //接入域名,請參見AMQP客戶端接入說明文檔。
        'host': '${YourHost}',
        'port': 5671,
        'transport':'tls',
        'reconnect':true,
        'idle_time_out':60000,
        //userName組裝方法,請參見AMQP客戶端接入說明文檔。其中的iotInstanceId,企業版實例請填寫實例ID,公共實例直接刪除${YourIotInstanceId}。
        'username':'${YourClientId}|authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=${YourAccessKeyId},iotInstanceId=${YourIotInstanceId},consumerGroupId=${YourConsumerGroupId}|', 
        //計算簽名,password組裝方法,請參見AMQP客戶端接入說明文檔。
        'password': hmacSha1('${YourAccessKeySecret}', 'authId=${YourAccessKeyId}&timestamp=1573489088171'),
    });
    
    //創建Receiver Link。
    var receiver = connection.open_receiver();
    
    //接收云端推送消息的回調函數。
    container.on('message', function (context) {
        var msg = context.message;
        var messageId = msg.message_id;
        var topic = msg.application_properties.topic;
        var content = Buffer.from(msg.body.content).toString();
    
        // 輸出內容。
        console.log(content);
    
        //發送ACK,注意不要在回調函數有耗時邏輯。
        context.delivery.accept();
    });
    
    //計算password簽名。
    function hmacSha1(key, context) {
        return Buffer.from(crypto.createHmac('sha1', key).update(context).digest())
            .toString('base64');
    }

    參數

    示例

    說明

    host

    233***.iot-amqp.cn-shanghai.aliyuncs.com

    AMQP接入域名。

    ${YourHost}對應的AMQP接入域名信息,請參見查看和配置實例終端節點信息(Endpoint)

    username

    'test |authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=LTAI4GFGQvKuqHJhFa******,iotInstanceId=iot-060a02ne,consumerGroupId=DEFAULT_GROUP|'

    接入物聯網平臺的身份認證信息。其中:

    • ${YourClientId}:替換為客戶端ID,可自定義,長度不可超過64個字符。建議使用您的AMQP客戶端所在服務器UUID、MAC地址、IP等唯一標識。

      AMQP客戶端接入并啟動成功后,登錄物聯網平臺控制臺,在對應實例的消息轉發 > 服務端訂閱 > 消費組列表頁簽,單擊消費組對應的查看消費組詳情頁面將顯示該參數,方便您識別和區分不同的客戶端。

    • ${YourAccessKeyId}${YourAccessKeySecret}:替換為您物聯網平臺的AccessKey ID和AccessKey Secret。

      登錄物聯網平臺控制臺,將鼠標移至賬號頭像上,然后單擊AccessKey管理,獲取AccessKey ID和AccessKey Secret。

      說明

      如果使用RAM用戶,您需授予該RAM用戶管理物聯網平臺的權限(AliyunIOTFullAccess),否則將連接失敗。授權方法請參見RAM用戶訪問

    • ${YourIotInstanceId}:替換為實例ID。

      • 企業版實例:需填寫實例ID值。

      • 公共實例:直接刪除${YourIotInstanceId}。

      您可登錄物聯網平臺控制臺,找到對應的實例,單擊實例,進入實例詳情頁面查看實例ID。

    • ${YourConsumerGroupId}:替換為消費組ID。

      登錄物聯網平臺控制臺,在對應實例的消息轉發 > 服務端訂閱 > 消費組列表查看您的消費組ID。

    password

    hmacSha1('iMS8ZhCDd***', 'authId=LTAI4GFGQ***&timestamp=1573489088171')

  4. 打開CMD窗口,使用cd命令找到amqp.js文件所在路徑,在該路徑下使用npm命令下載rhea庫。下載后,項目文件如下圖所示。

    npm install rhea

    文件目錄

  5. 在CMD窗口輸入如下命令,運行amqp.js代碼,啟動AMQP客戶端服務器。

    node amqp.js

運行結果示例

  • 成功:返回類似如下日志信息,表示AMQP客戶端已接入物聯網平臺并成功接收消息。成功

  • 失敗:返回類似如下日志信息,表示AMQP客戶端連接物聯網平臺失敗。

    您可根據日志提示,檢查代碼或網絡環境,然后修正問題,重新運行代碼。

    失敗