更新指定id的预调配模板信息
功能介绍
应用服务器可调用此接口在物联网平台更新指定id的预调配模板。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
PUT /v5/iot/{project_id}/provisioning-templates/{template_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数说明:项目ID。获取方法请参见 获取项目ID。 |
template_id |
是 |
String |
预调配模板ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
否 |
String |
参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
Instance-Id |
否 |
String |
参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
description |
否 |
String |
参数说明:预调配模板的描述信息。 取值范围:长度不超过2048,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合 |
template_body |
否 |
ProvisioningTemplateBody object |
参数说明:预调配模板详细内容,json格式。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
parameters |
是 |
Object |
参数说明:预调配模板参数, ,配置格式为{"parameter":{"type":"String"}} ,其中parameter目前支持从预调配设备的证书的使用者字段提取内容,证书必须包含模板中定义的所有参数值,华为云IoT平台定义了可在预调配模板中声明和引用的如下参数:
type描述parameter的类型,目前仅支持string。 配置样例: '{"iotda::certificate::country":{"type":"String"}, "iotda::certificate::organization":{"type":"String"}, "iotda::certificate::organizational_unit":{"type":"String"}, "iotda::certificate::distinguished_name_qualifier":{"type":"String"}, "iotda::certificate::state_name":{"type":"String"}, "iotda::certificate::common_name":{"type":"String"}, "iotda::certificate::serial_number":{"type":"String"}}' |
resources |
是 |
TemplateResource object |
预调配模板设备资源结构体。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
device |
是 |
DeviceResource object |
预调配模板设备资源详情结构体。 |
policy |
否 |
PolicyResource object |
预调配模板设备策略资源详情结构体。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
device_name |
否 |
ParameterRef object |
设备名称 |
node_id |
是 |
ParameterRef object |
设备标识码 |
product_id |
是 |
Object |
参数说明:设备所属的产品id,可以是一个明确的静态字符串id,也可以是动态的模板参数引用
|
tags |
否 |
Array of TagRef objects |
参数说明:设备绑定的标签列表 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tag_key |
否 |
Object |
参数说明:标签键名称,可以是一个明确的静态字符串,也可以是动态的模板参数引用
|
tag_value |
否 |
Object |
参数说明:标签值,可以是一个明确的静态字符串,也可以是动态的模板参数引用
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
template_id |
String |
参数说明:预调配模板ID。 |
template_name |
String |
参数说明:预调配模板名称。 取值范围:长度不超过128,只允许中文、字母、数字、下划线(_)、连接符(-)的组合。 |
description |
String |
参数说明:预调配模板的描述信息。 取值范围:长度不超过2048,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合 |
template_body |
ProvisioningTemplateBody object |
参数说明:预调配模板详细内容,json格式。 |
create_time |
String |
在物联网平台创建预调配模板的时间。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
update_time |
String |
在物联网平台更新预调配模板的时间。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
参数 |
参数类型 |
描述 |
---|---|---|
parameters |
Object |
参数说明:预调配模板参数, ,配置格式为{"parameter":{"type":"String"}} ,其中parameter目前支持从预调配设备的证书的使用者字段提取内容,证书必须包含模板中定义的所有参数值,华为云IoT平台定义了可在预调配模板中声明和引用的如下参数:
type描述parameter的类型,目前仅支持string。 配置样例: '{"iotda::certificate::country":{"type":"String"}, "iotda::certificate::organization":{"type":"String"}, "iotda::certificate::organizational_unit":{"type":"String"}, "iotda::certificate::distinguished_name_qualifier":{"type":"String"}, "iotda::certificate::state_name":{"type":"String"}, "iotda::certificate::common_name":{"type":"String"}, "iotda::certificate::serial_number":{"type":"String"}}' |
resources |
TemplateResource object |
预调配模板设备资源结构体。 |
参数 |
参数类型 |
描述 |
---|---|---|
device |
DeviceResource object |
预调配模板设备资源详情结构体。 |
policy |
PolicyResource object |
预调配模板设备策略资源详情结构体。 |
参数 |
参数类型 |
描述 |
---|---|---|
device_name |
ParameterRef object |
设备名称 |
node_id |
ParameterRef object |
设备标识码 |
product_id |
Object |
参数说明:设备所属的产品id,可以是一个明确的静态字符串id,也可以是动态的模板参数引用
|
tags |
Array of TagRef objects |
参数说明:设备绑定的标签列表 |
参数 |
参数类型 |
描述 |
---|---|---|
tag_key |
Object |
参数说明:标签键名称,可以是一个明确的静态字符串,也可以是动态的模板参数引用
|
tag_value |
Object |
参数说明:标签值,可以是一个明确的静态字符串,也可以是动态的模板参数引用
|
请求示例
-
更新预调配模板
PUT https://{endpoint}/v5/iot/{project_id}/provisioning-templates/{template_id} { "description" : "myTemplate", "template_body" : { "parameters" : { "iotda::certificate::country" : { "type" : "String" }, "iotda::certificate::organization" : { "type" : "String" }, "iotda::certificate::organizational_unit" : { "type" : "String" }, "iotda::certificate::distinguished_name_qualifier" : { "type" : "String" }, "iotda::certificate::state_name" : { "type" : "String" }, "iotda::certificate::common_name" : { "type" : "String" }, "iotda::certificate::serial_number" : { "type" : "String" } }, "resources" : { "device" : { "device_name" : { "ref" : "iotda::certificate::organization" }, "node_id" : { "ref" : "iotda::certificate::common_name" }, "product_id" : { "ref" : "iotda::certificate::organization" }, "tags" : [ { "tag_key" : { "ref" : "iotda::certificate::organization" }, "tag_value" : { "ref" : "iotda::certificate::organizational_unit" } } ] }, "policy" : { "policy_ids" : [ "5c90fa7d3c4e4405e8525079" ] } } } }
-
更新预调配模板-部分参数自定义
PUT https://{endpoint}/v5/iot/{project_id}/provisioning-templates/{template_id} { "description" : "myTemplate2", "template_body" : { "parameters" : { "iotda::certificate::country" : { "type" : "String" }, "iotda::certificate::organization" : { "type" : "String" }, "iotda::certificate::organizational_unit" : { "type" : "String" }, "iotda::certificate::distinguished_name_qualifier" : { "type" : "String" }, "iotda::certificate::state_name" : { "type" : "String" }, "iotda::certificate::common_name" : { "type" : "String" }, "iotda::certificate::serial_number" : { "type" : "String" } }, "resources" : { "device" : { "device_name" : { "ref" : "iotda::certificate::organization" }, "node_id" : { "ref" : "iotda::certificate::common_name" }, "product_id" : "642bf260f2f9030e44210d8d", "tags" : [ { "tag_key" : "myTagKey", "tag_value" : "myTagValue" } ] }, "policy" : { "policy_ids" : [ "5c90fa7d3c4e4405e8525079" ] } } } }
响应示例
状态码: 200
OK
{ "template_id" : "5c90fa7d3c4e4405e8525079", "template_name" : "myTemplate", "description" : "myTemplate", "template_body" : { "parameters" : { "iotda::certificate::country" : { "type" : "String" }, "iotda::certificate::organization" : { "type" : "String" }, "iotda::certificate::organizational_unit" : { "type" : "String" }, "iotda::certificate::distinguished_name_qualifier" : { "type" : "String" }, "iotda::certificate::state_name" : { "type" : "String" }, "iotda::certificate::common_name" : { "type" : "String" }, "iotda::certificate::serial_number" : { "type" : "String" } }, "resources" : { "device" : { "device_name" : { "ref" : "iotda::certificate::organization" }, "node_id" : { "ref" : "iotda::certificate::common_name" }, "product_id" : { "ref" : "iotda::certificate::organization" } }, "policy" : { "policy_ids" : [ "5c90fa7d3c4e4405e8525079" ] } } }, "create_time" : "20230810T070547Z", "update_time" : "20230810T070547Z" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
错误码
请参见错误码。