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

Java SDK接入示例

更新時(shí)間:

本文介紹使用AMQP協(xié)議的JMS客戶端接入阿里云物聯(lián)網(wǎng)平臺(tái),接收服務(wù)端訂閱消息的示例。

前提條件

已獲取消費(fèi)組ID,并訂閱Topic消息。

準(zhǔn)備開發(fā)環(huán)境

示例使用的開發(fā)環(huán)境如下:

下載Apache Qpid JMS客戶端

您可訪問Qpid JMS 0.57.0,查看Qpid JMS使用說明。

本文示例中,通過在Maven工程中添加如下依賴,下載Qpid JMS客戶端。

<!-- amqp 1.0 qpid client -->
 <dependency>
   <groupId>org.apache.qpid</groupId>
   <artifactId>qpid-jms-client</artifactId>
   <version>0.57.0</version>
 </dependency>
 <!-- util for base64-->
 <dependency>
   <groupId>commons-codec</groupId>
  <artifactId>commons-codec</artifactId>
  <version>1.10</version>
</dependency>

示例Demo

假設(shè)企業(yè)A和企業(yè)B分別有一個(gè)阿里云主賬號(hào)A和阿里云主賬號(hào)B,企業(yè)A使用阿里云主賬號(hào)在物聯(lián)網(wǎng)平臺(tái)已配置服務(wù)端訂閱:

  • 對(duì)于阿里云主賬號(hào)A或其下直接授權(quán)的RAM用戶

    說明

    對(duì)于直接授權(quán)的RAM用戶,需要給該RAM用戶授予操作AMQP服務(wù)端訂閱功能的權(quán)限(iot:sub),否則將會(huì)連接失敗。授權(quán)方法,請(qǐng)參見物聯(lián)網(wǎng)平臺(tái)RAM授權(quán)說明

    為提升物聯(lián)網(wǎng)平臺(tái)數(shù)據(jù)安全,推薦通過RAM角色授予RAM用戶指定的操作權(quán)限。具體說明,請(qǐng)參見下文。

    開發(fā)AMQP客戶端接收服務(wù)端訂閱的設(shè)備消息,請(qǐng)參見本賬號(hào)接收服務(wù)端訂閱消息

  • 對(duì)于通過RAM角色授權(quán)的RAM用戶

    RAM用戶可為阿里云主賬號(hào)A下的RAM用戶,或阿里云主賬號(hào)B下的RAM用戶,即支持使用本賬號(hào)(阿里云主賬號(hào)A)和跨賬號(hào)(阿里云主賬號(hào)B)的RAM用戶,開發(fā)AMQP客戶端接入本賬號(hào)的物聯(lián)網(wǎng)平臺(tái),接收服務(wù)端訂閱的設(shè)備消息。

    開發(fā)AMQP客戶端接收服務(wù)端訂閱的設(shè)備消息,請(qǐng)參見通過RAM角色授權(quán)的RAM用戶接收服務(wù)端訂閱消息

本賬號(hào)接收服務(wù)端訂閱消息

  1. 下載Demo代碼包,并解壓。

  2. 打開IntelliJ IDEA,導(dǎo)入Demo包中的示例工程amqp-demo

    pom.xml文件中,已添加Maven依賴,下載Qpid JMS客戶端。

  3. src/main/java/com.aliyun.iotx.demo目錄下AmqpClient.java文件中,參照下表,修改AMQP的接入信息。

    重要
    • 請(qǐng)確保參數(shù)值輸入正確,否則AMQP客戶端接入會(huì)失敗。

    • 本示例Demo代碼中,添加了結(jié)束程序的代碼(Thread.sleep(60 * 1000);),即程序啟動(dòng)成功,運(yùn)行一分鐘后會(huì)結(jié)束。實(shí)際場(chǎng)景中,您可根據(jù)需要自行設(shè)置運(yùn)行時(shí)間。

    更多參數(shù)說明,請(qǐng)參見AMQP客戶端接入說明

    參數(shù)

    說明

    accessKey

    阿里云主賬號(hào)或?qū)?yīng)RAM用戶的AccessKey ID和AccessKey Secret。

    登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái),將鼠標(biāo)移至賬號(hào)頭像上,然后單擊AccessKey管理,獲取AccessKey ID和AccessKey Secret。

    accessSecret

    consumerGroupId

    當(dāng)前物聯(lián)網(wǎng)平臺(tái)對(duì)應(yīng)實(shí)例中的消費(fèi)組ID。

    登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái),在對(duì)應(yīng)實(shí)例的消息轉(zhuǎn)發(fā) > 服務(wù)端訂閱 > 消費(fèi)組列表查看您的消費(fèi)組ID。

    iotInstanceId

    實(shí)例ID。您可在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)實(shí)例概覽頁面,查看當(dāng)前實(shí)例的ID。

    • 若有ID值,必須傳入該ID值。

    • 若無實(shí)例概覽頁面或ID值,傳入空值,即iotInstanceId = ""

    clientId

    表示客戶端ID,需您自定義,長(zhǎng)度不可超過64個(gè)字符。建議使用您的AMQP客戶端所在服務(wù)器UUID、MAC地址、IP等唯一標(biāo)識(shí)。

    AMQP客戶端接入并啟動(dòng)成功后,登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái),在對(duì)應(yīng)實(shí)例的消息轉(zhuǎn)發(fā) > 服務(wù)端訂閱 > 消費(fèi)組列表頁簽,單擊消費(fèi)組對(duì)應(yīng)的查看消費(fèi)組詳情頁面將顯示該參數(shù),方便您識(shí)別區(qū)分不同的客戶端。

    connectionCount

    啟動(dòng)AMQP客戶端的連接數(shù),最大不超過128個(gè)。用于實(shí)時(shí)消息推送的擴(kuò)容。

    消費(fèi)組詳情頁面會(huì)以${clientId}+"-"+數(shù)字形式,顯示連接的客戶端。其中數(shù)字最小值為0。

    host

    AMQP接入域名。

    ${YourHost}對(duì)應(yīng)的AMQP接入域名信息,請(qǐng)參見查看和配置實(shí)例終端節(jié)點(diǎn)信息(Endpoint)

  4. 運(yùn)行AmqpClient.java程序。

    • 成功:返回類似如下日志信息,表示AMQP客戶端已接入物聯(lián)網(wǎng)平臺(tái)并成功接收消息。

      topic = /***********/******/thing/event/property/post,
      message = 2**************7,
      content = {"temperature":29,"humidity":29,"time":1617357297270}

      參數(shù)

      說明

      topic

      設(shè)備屬性上報(bào)的Topic。

      messageId

      消息的ID。

      content

      消息的內(nèi)容。

    • 失敗:例如代碼或網(wǎng)絡(luò)環(huán)境有問題,AMQP客戶端連接物聯(lián)網(wǎng)平臺(tái)會(huì)失敗。

      您可根據(jù)日志提示,檢查代碼或網(wǎng)絡(luò)環(huán)境,然后修正問題,重新運(yùn)行代碼。

通過RAM角色授權(quán)的RAM用戶接收服務(wù)端訂閱消息

前提條件

RAM用戶已通過RAM角色授權(quán)獲取企業(yè)A阿里云賬號(hào)物聯(lián)網(wǎng)平臺(tái)的服務(wù)端訂閱操作權(quán)限。具體操作,請(qǐng)參見本賬號(hào)RAM用戶授權(quán)服務(wù)端訂閱跨賬號(hào)RAM用戶授權(quán)服務(wù)端訂閱

接入示例

  1. 下載Demo代碼包,然后解壓。

  2. 打開IntelliJ IDEA,導(dǎo)入Demo包中的示例工程amqp-sts-demo

    pom.xml文件中,已添加Maven依賴,下載Qpid JMS客戶端。

  3. src/main/java/com/aliyun/iotx/demo目錄下AmqpStsTokenClient.java文件中,參照下表,修改AMQP的接入信息。

    重要
    • 請(qǐng)確保參數(shù)值輸入正確,否則AMQP客戶端接入會(huì)失敗。

    • STS Token有效期最長(zhǎng)1個(gè)小時(shí),需要定時(shí)更新AMQP客戶端接入中的建連信息,以確保AMQP客戶端正常重連成功。具體修改方式可參考示例Demo代碼中的 scheduledExecutorService.scheduleAtFixedRate部分。

    • 本示例Demo代碼中,添加了結(jié)束程序的代碼(Thread.sleep(6000 * 1000);),即程序啟動(dòng)成功,運(yùn)行一分鐘后會(huì)結(jié)束。實(shí)際場(chǎng)景中,您可根據(jù)需要自行設(shè)置運(yùn)行時(shí)間。

    更多參數(shù)說明,請(qǐng)參見AMQP客戶端接入說明

    參數(shù)

    說明

    CONNECTION_COUNT

    啟動(dòng)AMQP客戶端的連接數(shù),最大不超過128個(gè)。用于實(shí)時(shí)消息推送的擴(kuò)容。

    本賬號(hào)物聯(lián)網(wǎng)平臺(tái)的消費(fèi)組詳情頁面會(huì)以"clientId-"+數(shù)字形式,顯示連接的客戶端。其中數(shù)字最小值為0。

    DURATION_SECONDS

    連接參數(shù)Token有效期,不能超過1小時(shí),取值范圍:15~60分鐘。

    STS_ENDPOINT

    STS Token獲取服務(wù)接入點(diǎn)。具體信息,請(qǐng)參見服務(wù)接入點(diǎn)

    STS_ACCESS_KEY

    扮演企業(yè)A阿里云賬號(hào)下RAM角色的RAM用戶的AccessKey ID和AccessKey Secret。

    STS_ACCESS_SECRET

    STS_ROLE_ARN

    企業(yè)A阿里云賬號(hào)下要扮演的RAM角色ARN,格式為acs:ram::<account-id>:role/<role-name>

    其中,<role-name>部分會(huì)將角色的名稱全部轉(zhuǎn)換為小寫。創(chuàng)建角色后,您可以單擊角色名稱,在基本信息區(qū)域查看角色ARN。

    CONSUMER_GROUP_ID

    企業(yè)A阿里云賬號(hào)下服務(wù)端訂閱的消費(fèi)組ID。

    可在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)對(duì)應(yīng)實(shí)例的消息轉(zhuǎn)發(fā) > 服務(wù)端訂閱 > 消費(fèi)組列表頁簽,查看消費(fèi)組ID。

    IOT_INSTANCE_ID

    企業(yè)A阿里云賬號(hào)下物聯(lián)網(wǎng)平臺(tái)實(shí)例ID。

    可在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)實(shí)例概覽頁簽,查看實(shí)例的ID。

    • 若有ID值,必須傳入該ID值。

    • 若無實(shí)例概覽頁簽或ID值,傳入空值,即IOT_INSTANCE_ID = ""

    HOST

    企業(yè)A阿里云賬號(hào)下物聯(lián)網(wǎng)平臺(tái)實(shí)例的AMQP接入域名。具體信息,請(qǐng)參見查看和配置實(shí)例終端節(jié)點(diǎn)信息(Endpoint)

  4. 運(yùn)行AmqpStsTokenClient.java程序。

    • 成功:返回類似如下日志信息,表示AMQP客戶端已接入物聯(lián)網(wǎng)平臺(tái)并成功接收消息。

      topic = /***********/******/thing/event/property/post,
      message = 2**************7,
      content = {"temperature":29,"humidity":29,"time":1617357297270}

      參數(shù)

      說明

      topic

      設(shè)備屬性上報(bào)的Topic。

      messageId

      消息的ID。

      content

      消息的內(nèi)容。

    • 失敗:例如代碼或網(wǎng)絡(luò)環(huán)境有問題,AMQP客戶端連接物聯(lián)網(wǎng)平臺(tái)會(huì)失敗。

      您可根據(jù)日志提示,檢查代碼或網(wǎng)絡(luò)環(huán)境,然后修正問題,重新運(yùn)行代碼。

相關(guān)文檔

服務(wù)端訂閱消息相關(guān)錯(cuò)誤碼,請(qǐng)參見消息相關(guān)錯(cuò)誤碼