调用该接口创建MNS或AMQP服务端订阅。

使用说明

服务端订阅分两种类型:

  • MNS订阅:将订阅的消息推送到消息服务(MNS)的队列中,您的服务端应用通过监听MNS队列接收设备消息,参见使用MNS服务端订阅。直接调用本接口即可创建MNS订阅。
  • AMQP订阅:将产品下所有已订阅类型的消息通过AMQP通道推送至您的服务端,参见配置AMQP服务端订阅。请按以下流程操作AMQP订阅:

    1. 调用CreateConsumerGroup创建消费组,返回消费组ID。AMQP订阅中,消息将被推送到指定消费组,AMQP客户端携带消费组ID接入物联网平台,消费消息,参见AMQP客户端接入说明

    2. 调用本接口创建AMQP订阅。

    3. (可选)调用CreateConsumerGroupSubscribeRelation在AMQP订阅中添加消费组。调用DeleteConsumerGroupSubscribeRelation删除AMQP订阅中多个消费组中的指定消费组。

    4. (可选)运行AMQP订阅时,调用QueryConsumerGroupStatus查询某个消费组的状态,包括在线客户端信息、消息消费速率、消息堆积数、最近消息消费时间,调用ResetConsumerGroupPosition清空消费组的堆积消息。

限制说明

单阿里云账号调用该接口的每秒请求数(QPS)最大限制为5。

说明 子账号共享主账号配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateSubscribeRelation

系统规定参数。取值:CreateSubscribeRelation。

ProductKey String a1fyXVF****

该订阅中的产品的ProductKey。

IotInstanceId String iot-cn-0pp1n8t****

实例ID。公共实例不传此参数;您购买的实例需传入。

DeviceDataFlag Boolean true

推送消息类型是否选择设备上报消息。可选值:

  • true:是。
  • false:否。

默认值为false

DeviceStatusChangeFlag Boolean true

推送消息类型是否选择设备状态变化通知。可选值:

  • true:是。
  • false:否。

默认值为false

DeviceTopoLifeCycleFlag Boolean true

推送消息类型是否选择设备拓扑关系变更。可选值:

  • true:是。仅对网关产品有效。
  • false:否。

默认值为false

FoundDeviceListFlag Boolean true

推送消息类型是否选择网关子设备发现上报。可选值:

  • true:是。仅对网关产品有效。
  • false:否。

默认值为false

ThingHistoryFlag Boolean true

推送消息类型是否选择物模型历史数据上报。可选值:

  • true:是。
  • false:否。

默认值为false

DeviceLifeCycleFlag Boolean true

推送消息类型是否选择设备生命周期变更。可选值:

  • true:是。
  • false:否。

默认值为false

OtaEventFlag Boolean true

推送消息类型是否选择OTA升级状态通知。可选值:

  • true:是。
  • false:否。

默认值为false

DeviceTagFlag Boolean true

推送消息类型是否选择设备标签变更。可选值:

  • true:是。仅当TypeAMQP时有效。
  • false:否。

默认值为false

OtaVersionFlag Boolean true

推送消息类型是否选择OTA模块版本号上报。可选值:

  • true:是。仅当TypeAMQP时有效。
  • false:否。

默认值为false

OtaJobFlag Boolean true

推送消息类型是否选择OTA升级批次状态通知。可选值:

  • true:是。仅当TypeAMQP时有效。
  • false:否。

默认值为false

Type String AMQP

订阅类型:

  • MNS
  • AMQP
ConsumerGroupIds.N RepeatList nJRaJPn5U1JITGfjBO9l00****

创建的AMQP订阅中的消费组ID,TypeAMQP时必填。

调用CreateConsumerGroup创建消费组成功后,会返回消费组ID。您可以调用QueryConsumerGroupList按消费组名称查询消费组ID,也可以在物联网平台控制台对应实例下,选择规则引擎>服务端订阅>消费组列表,查看消费组ID。

MnsConfiguration String { "themeName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }

MNS队列的配置信息,TypeMNS时必填。

具体要求和示例见下文请求参数补充说明。

说明 请求参数中的Flag不能全部为false或不传入,至少传入一个为true的Flag。
MnsConfiguration定义

名称

描述

themeName

消息服务中用来接收信息的目标主题名称。

regionName

目标消息服务所在的阿里云地域代码,例如cn-shanghai。

role

授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的消息服务。授权角色信息如下:

{"roleArn":"acs:ram::5645***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}

请将5645***替换成您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。

AliyunIOTAccessingMNSRole是访问控制中定义的服务角色。用于授予物联网平台访问消息服务。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。

MnsConfiguration示例:


{
    "themeName": "mns-test-topic1",
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",
        "roleName": "AliyunIOTAccessingMNSRole"
    }
}

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见 公共参数文档

返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException

调用失败时,返回的错误码。错误码详情,请参见错误码

ErrorMessage String 系统异常

调用失败时,返回的出错信息。

RequestId String 21D327AF-A7DE-4E59-B5D1-ACAC8C024555

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功:

  • true:调用成功。
  • false:调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateSubscribeRelation
&OtaEventFlag=true
&ProductKey=a1Zkii7****
&Type=AMQP
&ConsumerGroupIds.1=Xs95KifeaSKbi8tKkcoD00****
&<公共请求参数>

正常返回示例

XML 格式

<CreateSubscribeRelationResponse>
        <RequestId>C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82</RequestId>
        <Success>true</Success>
</CreateSubscribeRelationResponse>

JSON 格式

{
    "RequestId": "C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82",
    "Success": true
}