调用该接口为指定设备创建安全隧道。
使用说明
调用本接口创建安全隧道成功后,该安全隧道状态默认为已打开。
- 创建24小时后,安全隧道状态自动更新为已关闭。
- 创建30天后,安全隧道会被系统自动删除。
使用限制
- 单个设备最多包含10个安全隧道。
- 单个实例下最多包含1,000个安全隧道。
QPS限制
单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为5。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateDeviceTunnel |
系统规定参数。取值:CreateDeviceTunnel。 |
IotId | String | 否 | Q7uOhVRdZRRlDnTLv***00100 |
指定设备的设备ID。 注意 如果传入该参数,则无需传入ProductKey和DeviceName。IotId作为设备唯一标识符,和ProductKey与DeviceName的组合是一一对应的关系。如果您同时传入IotId和ProductKey与DeviceName的组合,则以IotId为准。
|
Description | String | 否 | 用于远程登录到摄像头。 |
安全隧道的描述信息。内容长度不超过1024个字符。 |
Udi | String | 否 | reboot |
推送给设备的自定义信息,数据格式自定义,长度不超过4096个字符。 会在通知设备创建安全隧道时发送给设备。 |
ProductKey | String | 否 | a1BwAGV*** |
指定设备所属产品的ProductKey。 注意 如果传入该参数,需同时传入DeviceName。
|
DeviceName | String | 否 | light |
指定设备的设备名称。 注意 如果传入该参数,需同时传入ProductKey。
|
IotInstanceId | String | 否 | iot-***-v64*** |
实例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 |
表示是否调用成功。
|
示例
请求示例
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
}