调用该接口为指定设备创建安全隧道。

使用说明

调用本接口创建安全隧道成功后,该安全隧道状态默认为已打开

  • 创建24小时后,安全隧道状态自动更新为已关闭
  • 创建30天后,安全隧道会被系统自动删除。

限制说明

  • 单个设备最多包含10个安全隧道。
  • 单个实例下最多包含1,000个安全隧道。
  • 单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为5。
    说明 RAM用户共享阿里云账号配额。

调试

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

请求参数

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

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

IotId String Q7uOhVRdZRRlDnTLv***00100

指定设备的设备ID。

注意 如果传入该参数,则无需传入ProductKeyDeviceNameIotId作为设备唯一标识符,和ProductKeyDeviceName的组合是一一对应的关系。如果您同时传入IotIdProductKeyDeviceName的组合,则以IotId为准。
Description String 用于远程登录到摄像头。

安全隧道的描述信息。内容长度不超过1024个字符。

Udi String reboot

推送给设备的自定义信息,数据格式自定义,长度不超过4096个字符。

会在通知设备创建安全隧道时发送给设备。

ProductKey String a1BwAGV***

指定设备所属产品的ProductKey

注意 如果传入该参数,需同时传入DeviceName
DeviceName String light

指定设备的设备名称。

注意 如果传入该参数,需同时传入ProductKey
IotInstanceId String iot-***-v64***

实例ID。

您可在物联网平台控制台的实例概览页面,查看当前实例的ID。若有ID值,必须传入该ID,否则调用会失败。

注意

若公共实例没有ID值,无需传入。具体说明,请参见如何获取实例ID

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

返回数据

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

调用失败时,返回的错误码。更多信息,请参见错误码

Data Struct

调用成功时,返回安全隧道的基本信息。

SourceAccessToken String 521c43e4-a6da-***

通过安全隧道访问对应设备的认证Token,用于WebSocket建连的认证阶段,详细说明,请参见安全隧道使用流程

SourceURI String wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source

通过安全隧道访问对应设备,建立WebSocket的URL。

TunnelId String d4098041-***

安全隧道ID。

ErrorMessage String 系统异常

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

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

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

Success Boolean true

表示是否调用成功。

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

示例

请求示例

http(s)://iot.cn-shanghai.aliyuncs.com/?Action=CreateDeviceTunnel
&ProductKey=a1rYuVF***
&DeviceName=light
&IotInstanceId=iot-***-v6***
&<公共请求参数>

正常返回示例

XML格式

<CreateDeviceTunnelResponse>
  <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
  <Data>
        <SourceURI>wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source</SourceURI>
        <SourceAccessToken>521c43e4-a6da-***</SourceAccessToken>
        <TunnelId>d4098041-***</TunnelId>
  </Data>
  <Success>true</Success>
</CreateDeviceTunnelResponse>

JSON格式

{
    "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
    "Data": {
        "SourceURI": "wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source",
        "SourceAccessToken": "521c43e4-a6da-***",
        "TunnelId": "d4098041-***"
    },
    "Success": true
}