华为云用户手册

  • 响应示例 状态码: 200 Successful response { "product_id" : "5ba24f5ebbe8f56f5a14f605", "name" : "Thermometer", "device_type" : "Thermometer", "model" : "123", "protocol_type" : "LWM2M", "data_format" : "binary", "industry" : "smartCity", "description" : "this is a thermometer produced by Huawei", "service_capabilities" : [ { "service_id" : "temperature", "service_type" : "temperature", "properties" : [ { "property_name" : "temperature", "required" : true, "data_type" : "decimal", "enum_list" : null, "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "centigrade", "method" : "R", "description" : "force" } ], "commands" : [ { "command_name" : "reboot", "paras" : [ { "para_name" : "force", "required" : false, "data_type" : "string", "enum_list" : null, "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "km/h", "description" : "force" } ], "responses" : [ { "paras" : [ { "para_name" : "force", "required" : false, "data_type" : "string", "enum_list" : null, "min" : 1, "max" : 100, "max_length" : 100, "step" : 0.1, "unit" : "km/h", "description" : "force" } ], "response_name" : "ACK" } ] } ], "description" : "temperature", "option" : "Mandatory" } ], "create_time" : "20190303T081011Z"}
  • URI GET /v5/iotps/{project_id}/products/{product_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 product_id 是 String 产品ID,用于唯一标识一个产品,在 物联网平台 的SP Portal上导入产品模型后由平台分配获得。 表2 Query参数 参数 是否必选 参数类型 描述 region_id 是 String 区域ID,用于区分不同的区域。 access_point_id 是 String 接入点id,用于区分不同的区域。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 product_id String 产品ID,用于唯一标识一个产品模型,在物联网平台的SP Portal上导入产品模型后由平台分配获得。 最小长度:0 最大长度:255 name String 产品名称。 最小长度:0 最大长度:255 device_type String 设备类型。 最小长度:0 最大长度:255 model String 设备型号。 最小长度:0 最大长度:255 protocol_type String 设备使用的协议类型。 最小长度:0 最大长度:20 data_format String 设备上报数据的格式。 最小长度:0 最大长度:20 industry String 设备所属行业。 最小长度:0 最大长度:255 description String 产品的描述信息。 最小长度:0 最大长度:2048 service_capabilities Array of ServiceCapability objects 设备的服务能力列表。 数组长度:0 - 1000 create_time String 在物联网平台创建产品的时间。 最小长度:0 最大长度:128 表5 ServiceCapability 参数 参数类型 描述 service_id String 设备的服务ID。 service_type String 设备的服务类型。 properties Array of ServiceProperty objects 设备服务支持的属性列表。 数组长度:0 - 1000 commands Array of ServiceCommand objects 设备服务支持的命令列表。 数组长度:0 - 1000 description String 设备服务的描述信息。 option String 指定设备服务是否必选。Master(主服务), Mandatory(必选服务), Optional(可选服务),目前本字段为非功能性字段,仅起到标识作用。 表6 ServiceProperty 参数 参数类型 描述 property_name String 设备属性名称。 required Boolean 设备属性是否必选。 data_type String 设备属性的数据类型。 enum_list Array of strings 设备属性的枚举值列表。 数组长度:0 - 1000 min String 设备属性的最小值。 最小长度:1 最大长度:16 max String 设备属性的最大值。 最小长度:1 最大长度:16 max_length Integer 设备属性的最大长度。 step Double 设备属性的步长。 unit String 设备属性的单位。 method String 设备属性的访问模式。 R:属性值可读 W:属性值可写 E:属性值可订阅,即属性值变化时上报事件 description String 设备属性的描述。 表7 ServiceCommand 参数 参数类型 描述 command_name String 设备命令名称。 paras Array of ServiceCommandPara objects 设备命令的参数列表。 数组长度:0 - 100 responses Array of ServiceCommandResponse objects 设备命令的响应列表。 数组长度:0 - 1000 表8 ServiceCommandResponse 参数 参数类型 描述 paras Array of ServiceCommandPara objects 设备命令响应的参数列表。 数组长度:0 - 100 response_name String 设备命令响应名称。 表9 ServiceCommandPara 参数 参数类型 描述 para_name String 命令参数的名称。 required Boolean 命令参数是否必选。 data_type String 命令参数的数据类型。 enum_list Array of strings 命令参数的枚举值列表。 数组长度:0 - 1000 min String 命令参数的最小值。 最小长度:1 最大长度:16 max String 命令参数的最大值。 最小长度:1 最大长度:16 max_length Integer 命令参数的最大长度。 最小值:0 最大值:1000 step Double 命令参数的步长。 最小值:0 最大值:1000 unit String 命令参数的单位。 最小长度:0 最大长度:16 description String 命令参数的描述。
  • 终端节点 终端节点 区 域名 称 区域 终端节点(Endpoint) 端口 协议 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud.com 5683 LWM2M 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud.com 5684 LWM2M + DTLS 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud.com 8883 MQ TTS 区域名称 区域 北向接入域名 华北-北京四 cn-north-4 iotps.cn-north-4.myhuaweicloud.com
  • 响应示例 状态码: 200 OK { "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id" : "ABC123456789", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "device_name" : "dianadevice", "node_type" : "ENDPOINT", "description" : "watermeter device", "auth_info" : { "auth_type" : "SECRET", "secret" : "3b935a250c50dc2c6d481d048cefdc3c", "fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f", "secure_access" : true, "timeout" : 300 }, "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "create_time" : "20190303T081011Z", "product_name" : "waterMater", "protocol_type" : "LWM2M", "provision_info" : { "access_point" : { "access_point_id" : "cn-north-4", "access_point_name" : "cn-north-4", "region_id" : "cn-north-4" }, "app_info" : { "app_id" : "b640f4c203b7910fc3cbd446ed437cbd", "app_name" : "mqttAppName" }, "allocation_status" : 0, "allocation_strategy_type" : "base", "life_time" : 86400 }}
  • URI GET /v5/iotps/{project_id}/devices/{device_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 device_id 是 String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。(生成规则为"product_id" + "_" + "node_id"拼接而成) 最小长度:1 最大长度:128
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 device_id String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。(生成规则为"product_id" + "_" + "node_id"拼接而成) 最小长度:0 最大长度:256 node_id String 设备标识码,通常使用IMEI、MAC地址或Serial No作为nodeId。 最小长度:0 最大长度:64 gateway_id String 网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。 最小长度:0 最大长度:256 device_name String 设备名称。 最小长度:0 最大长度:256 node_type String 设备节点类型。 ENDPOINT:非直连设备。 GATEWAY:直连设备或网关。 UNKNOWN:未知。 description String 设备的描述信息。 最小长度:0 最大长度:2048 auth_info AuthInfo object 设备的接入认证信息。 product_id String 设备关联的产品ID,用于唯一标识一个产品模型。 product_name String 设备关联的产品名称。 最小长度:1 最大长度:255 protocol_type String 设备关联的产品协议类型。 create_time String 在物联网平台注册设备的时间。 最小长度:0 最大长度:128 provision_info ProvisionInfoBaseResp object 设备的发放信息。 表4 AuthInfo 参数 参数类型 描述 auth_type String 鉴权类型。支持秘钥认证接入(SECRET)和证书认证接入(CERTIFICATES)。使用秘钥认证接入方式(SECRET)填写secret字段,使用证书认证接入方式(CERTIFICATE)填写fingerprint字段,如果CA证书选择 云证书管理服务 的CA证书,不需要填写fingerprint字段,需要填写设备证书名称字段,不填写auth_type默认为秘钥认证接入方式(SECRET) secret String 设备秘钥,认证类型使用秘钥认证接入(SECRET)可填写该字段。注意:NB设备秘钥由于协议特殊性,只支持十六进制秘钥接入。 最小长度:8 最大长度:32 fingerprint String 证书指纹,认证类型使用证书认证接入(CERTIFICATES)可填写该字段,注册设备时不填写该字段则取第一次设备接入时的证书指纹。注意:指纹只能为40位十六进制字符串或者64位十六进制字符串。 device_cert_name String 设备证书名称,CA证书选择 云证书管理 服务的CA证书接入需要填写该字段。此名称会也即设备证书使用者的CommanName device_cert_validity Integer 生成设备证书的有效期。CA证书选择云证书管理服务的CA证书可填写该字段。 最小值:1 最大值:10 device_cert_id String 设备证书id,设备采用云证书管理服务的CA注册,云证书管理服务生成的设备证书的唯一实例ID secure_access Boolean 指设备是否通过安全协议方式接入,默认值为true。 true:通过安全协议方式接入。 false:通过非安全协议方式接入。 缺省值:true timeout Integer 设备验证码的有效时间,单位:秒,默认值:0 若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。 缺省值:0 表5 ProvisionInfoBaseResp 参数 参数类型 描述 access_point AccessPointResp object 发放区域。 app_info ApplicationResp object 所属应用。 cert_name String CA证书名称。设备认证类型为证书认证时返回。 最小长度:0 最大长度:256 allocation_status Integer 设备发放状态。 取值如下: 0:成功; 1:失败; 2:发放中; 3:未发放(默认)。 最小值:0 最大值:3 allocation_strategy_type String 策略类型。 取值如下: base:静态策略; certificates:证书策略; functions:自定义策略; nearby:就近策略; migrations: 指定迁移策略。 缺省值:base life_time Integer LWM2M设备导入的默认生命周期。 最小值:0 最大值:864000 init_config String 设备的初始化配置。 最小长度:1 最大长度:65535 表6 AccessPointResp 参数 参数类型 描述 access_point_id String 接入点id。 最小长度:1 最大长度:256 access_point_name String 接入点名称。 最小长度:1 最大长度:256 region_id String 华为云终端节点ID。节选自https://developer.huaweicloud.com/endpoint。 最小长度:1 最大长度:128 表7 ApplicationResp 参数 参数类型 描述 app_id String 应用id。 最小长度:1 最大长度:64 app_name String 应用名称。 最小长度:1 最大长度:256
  • 调用API获取项目ID 项目ID还可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为 IAM 的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d...", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d1...", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd0..." }, "id": "a4a5d4098fb4474fa22cd05f897xxxx", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 certificate_id String CA证书ID。 最小长度:0 最大长度:256 cn_name String CA证书CN名称。 最小长度:0 最大长度:128 owner String Ca证书所有者。 最小长度:0 最大长度:128 status Boolean CA证书验证状态。 verify_code String CA证书验证码。 最小长度:0 最大长度:256 create_date String 创建证书日期。 最小长度:0 最大长度:128 effective_date String CA证书生效日期 最小长度:0 最大长度:128 expiry_date String CA证书失效日期。 最小长度:0 最大长度:128 cert_name String CA证书名称。 最小长度:0 最大长度:256 cert_issue String CA证书颁发者。 最小长度:0 最大长度:128 update_date String CA证书更新日期。 最小长度:0 最大长度:128 expired Integer CA证书过期时间: 0:可用; 1:即将过期; 2:已经过期。 最小值:0 最大值:2 cert_hash String CA证书指纹。 最小长度:0 最大长度:128
  • 响应示例 状态码: 200 OK { "certificate_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "cn_name" : "huawei", "owner" : "huawei", "status" : true, "verify_code" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "create_date" : "20190301T1910Z", "effective_date" : "20190301T1910Z", "expiry_date" : "20190301T1910Z"}
  • 响应示例 状态码: 200 OK { "certificate_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "cn_name" : "huawei", "owner" : "huawei", "status" : true, "verify_code" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "create_date" : "20190301T1910Z", "effective_date" : "20190301T1910Z", "expiry_date" : "20190301T1910Z"}
  • 请求示例 验证设备CA证书 POST https://{endpoint}/v5/iotps/{project_id}/certificates/d4922d8a-6c8e-4396-852c-164aefa6638f/action{ "action" : "verify", "verify_content" : "-----BEGIN CERTIFICATE-----\nMIID2TCCAsGgAwIBAgIJAOEDEgVdVMn9MA0G CS qGSIb3DQEBCwUAMIGCMQswCQYD\nVQQGEwJDTjERMA8GA1UECAwIR3VhbmRvbmcxETAPBgNVBAcMCFNoZW56aGVuMQ8w\nDQYDVQQKDAZIdWF3ZWkxDDAKBgNVBAsMA2lvdDESMBAGA1UEAwwJMTIzNDU2Nzg5\nMRowGAYJKoZIhvcNAQkBFgtkamthQHFxLmNvbTAeFw0xOTEyMTkxMzE1MjZaFw0y\nMjEwMDgxMzE1MjZaMIGCMQswCQYDVQQGEwJDTjERMA8GA1UECAwIR3VhbmRvbmcx\nETAPBgNVBAcMCFNoZW56aGVuMQ8wDQYDVQQKDAZIdWF3ZWkxDDAKBgNVBAsMA2lv\ndDESMBAGA1UEAwwJMTIzNDU2Nzg5MRowGAYJKoZIhvcNAQkBFgtkamthQHFxLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM72QUzoadvLfxGjt3UF\noZ4MJbblqnRbouO4KpOVHBXyS2yQVl4CWWMhLh4pp2efNUSqKuXHjY3r68PquyNn\nYk8zO59zVc7JHvjGkBvo7DgPRAhEKPLJIpRzkmlCBbxwTNCjc3FovGb/sHHNlpGn\ncCKUzMfPGNZuBiuemskuEXL/eMHxDPbXYWn4Wq0wt+28PKUL5jybY7nsXSNnmAPF\nTO0CAmq0meUukubT/jHDCQ78ihQ/iqw1RNq88aCqRleoHiGg5nWkjL+05GXqUrqV\nVnZNL+YqcXzuVMs5XgyhNM2AsuH2g3D8ZuF6Dj9qY1n/v/Cp/DGpxP3A74SlplnF\nD/0CAwEAAaNQME4wHQYDVR0OBBYEFAVPWVtpTdO6KQnmVrrNlMguWNR7MB8GA1Ud\nIwQYMBaAFAVPWVtpTdO6KQnmVrrNlMguWNR7MAwGA1UdEwQFMAMBAf8wDQYJKoZI\nhvcNAQELBQADggEBAE40ViqK+UaEn++Xq6f4Cmeg3JqYHu47v9RIAASNihYRBQ/r\n3RE7Af3GqjIO5nMJJuCMzdcoAU8N9KwkgXD+GLR9fYLEoEmq5CrhgaGDsCi85vCs\nmWhj5z8r5TG207xpmvH2KT447dnG+chMBE594ma85dCv+0mCDrqNToElipgT8+rY\nAYVClnIt3kbsTg1vSRNHadd+TpgRVxJZBF0fHcCAyc/2f3UJgPYNWShIetHM6BdI\n3fZ4H+eeHPjagm5kzmffli1cUv2/N+1hKUvcI4uFCqEwZRFtp90RyIbxUfQwi+Cs\nXVnwV+BZS5qD9bTcfxZMXhuVRwO/5xWYMYPN1uY=\n-----END CERTIFICATE-----"} 生成CA证书验证码 POST https://{endpoint}/v5/iotps/{project_id}/certificates/d4922d8a-6c8e-4396-852c-164aefa6638f/action{ "action" : "generateCode"}
  • URI DELETE /v5/iotps/{project_id}/registration-groups/{registration_group_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id。 最小长度:1 最大长度:32 registration_group_id 是 String 注册组id,用于唯一标识一个注册组 最小长度:1 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 对证书执行的操作,当前支持generateCode:生成CA证书验证码,verify:校验证书 缺省值:verify verify_content 否 String 验证证书内容信息(如果action为“verify”时,该字段必填)。 最小长度:1 最大长度:65535
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 certificate_id String CA证书ID。 最小长度:0 最大长度:256 cn_name String CA证书CN名称。 最小长度:0 最大长度:128 owner String Ca证书所有者。 最小长度:0 最大长度:128 status Boolean CA证书验证状态。 verify_code String CA证书验证码。 最小长度:0 最大长度:256 create_date String 创建证书日期。 最小长度:0 最大长度:128 effective_date String CA证书生效日期 最小长度:0 最大长度:128 expiry_date String CA证书失效日期。 最小长度:0 最大长度:128 cert_name String CA证书名称。 最小长度:0 最大长度:256 cert_issue String CA证书颁发者。 最小长度:0 最大长度:128 update_date String CA证书更新日期。 最小长度:0 最大长度:128 expired Integer CA证书过期时间: 0:可用; 1:即将过期; 2:已经过期。 最小值:0 最大值:2 cert_hash String CA证书指纹。 最小长度:0 最大长度:128
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 certificate_id String CA证书ID。 最小长度:0 最大长度:256 cn_name String CA证书CN名称。 最小长度:0 最大长度:128 owner String Ca证书所有者。 最小长度:0 最大长度:128 status Boolean CA证书验证状态。 verify_code String CA证书验证码。 最小长度:0 最大长度:256 create_date String 创建证书日期。 最小长度:0 最大长度:128 effective_date String CA证书生效日期 最小长度:0 最大长度:128 expiry_date String CA证书失效日期。 最小长度:0 最大长度:128 cert_name String CA证书名称。 最小长度:0 最大长度:256 cert_issue String CA证书颁发者。 最小长度:0 最大长度:128 update_date String CA证书更新日期。 最小长度:0 最大长度:128 expired Integer CA证书过期时间: 0:可用; 1:即将过期; 2:已经过期。 最小值:0 最大值:2 cert_hash String CA证书指纹。 最小长度:0 最大长度:128
  • 响应示例 状态码: 201 Created { "certificate_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "cn_name" : "huawei", "owner" : "huawei", "status" : true, "verify_code" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "create_date" : "20190301T1910Z", "effective_date" : "20190301T1910Z", "expiry_date" : "20190301T1910Z"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 cert_name 否 String 证书名称。 最小长度:0 最大长度:256 content 是 String 证书内容信息。 最小长度:1 最大长度:65535
  • 请求示例 上传设备CA证书 POST https://{endpoint}/v5/iotps/{project_id}/certificates{ "content" : "-----BEGIN CERTIFICATE-----\nMIID2TCCAsGgAwIBAgIJAOEDEgVdVMn9MA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD\nVQQGEwJDTjERMA8GA1UECAwIR3VhbmRvbmcxETAPBgNVBAcMCFNoZW56aGVuMQ8w\nDQYDVQQKDAZIdWF3ZWkxDDAKBgNVBAsMA2lvdDESMBAGA1UEAwwJMTIzNDU2Nzg5\nMRowGAYJKoZIhvcNAQkBFgtkamthQHFxLmNvbTAeFw0xOTEyMTkxMzE1MjZaFw0y\nMjEwMDgxMzE1MjZaMIGCMQswCQYDVQQGEwJDTjERMA8GA1UECAwIR3VhbmRvbmcx\nETAPBgNVBAcMCFNoZW56aGVuMQ8wDQYDVQQKDAZIdWF3ZWkxDDAKBgNVBAsMA2lv\ndDESMBAGA1UEAwwJMTIzNDU2Nzg5MRowGAYJKoZIhvcNAQkBFgtkamthQHFxLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM72QUzoadvLfxGjt3UF\noZ4MJbblqnRbouO4KpOVHBXyS2yQVl4CWWMhLh4pp2efNUSqKuXHjY3r68PquyNn\nYk8zO59zVc7JHvjGkBvo7DgPRAhEKPLJIpRzkmlCBbxwTNCjc3FovGb/sHHNlpGn\ncCKUzMfPGNZuBiuemskuEXL/eMHxDPbXYWn4Wq0wt+28PKUL5jybY7nsXSNnmAPF\nTO0CAmq0meUukubT/jHDCQ78ihQ/iqw1RNq88aCqRleoHiGg5nWkjL+05GXqUrqV\nVnZNL+YqcXzuVMs5XgyhNM2AsuH2g3D8ZuF6Dj9qY1n/v/Cp/DGpxP3A74SlplnF\nD/0CAwEAAaNQME4wHQYDVR0OBBYEFAVPWVtpTdO6KQnmVrrNlMguWNR7MB8GA1Ud\nIwQYMBaAFAVPWVtpTdO6KQnmVrrNlMguWNR7MAwGA1UdEwQFMAMBAf8wDQYJKoZI\nhvcNAQELBQADggEBAE40ViqK+UaEn++Xq6f4Cmeg3JqYHu47v9RIAASNihYRBQ/r\n3RE7Af3GqjIO5nMJJuCMzdcoAU8N9KwkgXD+GLR9fYLEoEmq5CrhgaGDsCi85vCs\nmWhj5z8r5TG207xpmvH2KT447dnG+chMBE594ma85dCv+0mCDrqNToElipgT8+rY\nAYVClnIt3kbsTg1vSRNHadd+TpgRVxJZBF0fHcCAyc/2f3UJgPYNWShIetHM6BdI\n3fZ4H+eeHPjagm5kzmffli1cUv2/N+1hKUvcI4uFCqEwZRFtp90RyIbxUfQwi+Cs\nXVnwV+BZS5qD9bTcfxZMXhuVRwO/5xWYMYPN1uY=\n-----END CERTIFICATE-----"}
  • 响应示例 状态码: 200 Created 示例 1 { "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70", "strategy_type" : "base", "access_points" : { "access_point_id" : "DMP-CNNorth-4-1", "access_point_name" : "设备管理-北京四-1", "region_id" : "cn-north-4" }, "base_strategy_info" : { "priority" : 0, "keyword" : "mqttd", "app_id" : "dc0f1016f495157344ac5f1296335cff725ef22f", "app_name" : "mqttApp", "keyword_from" : "payload" }} 示例 2 { "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70", "strategy_type" : "certificates", "access_points" : { "access_point_id" : "DMP-CNNorth-4-1", "access_point_name" : "设备管理-北京四-1", "region_id" : "cn-north-4" }, "cert_strategy_info" : { "cert_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70", "cert_name" : "mqttCaCert", "app_id" : "dc0f1016f495157344ac5f1296335cff725ef22f", "app_name" : "mqttApp" }} 示例 3 { "strategy_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc70", "strategy_type" : "functions", "access_points" : { "access_point_id" : "DMP-CNNorth-4-1", "access_point_name" : "设备管理-北京四-1", "region_id" : "cn-north-4" }, "function_strategy_info" : { "func_name" : "599d1975-ec30-4a5f-a390-ef388a1fbc70", "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test" }}
  • 响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 strategy_id String 策略id。 最小长度:1 最大长度:64 strategy_type String 策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。 缺省值:base authorizer TenantDomainResp object 授权账号信息结构体 access_points Array of AccessPointResp objects 发放区域。 数组长度:0 - 1000 base_strategy_info BaseStrategyInfo object 静态策略结构体 cert_strategy_info CertStrategyInfo object 证书策略结构体 function_strategy_info FunctionStrategyInfo object 自定义策略结构体 表10 TenantDomainResp 参数 参数类型 描述 domain_id String 公有云账户ID domain_name String 公有云账户名 最小长度:1 最大长度:64 表11 AccessPointResp 参数 参数类型 描述 access_point_id String 接入点id。 最小长度:1 最大长度:256 access_point_name String 接入点名称。 最小长度:1 最大长度:256 region_id String 华为云终端节点ID。节选自https://developer.huaweicloud.com/endpoint。 最小长度:1 最大长度:128 表12 BaseStrategyInfo 参数 参数类型 描述 keyword String 静态策略的关键字。 最小长度:1 最大长度:256 priority Integer 静态策略的优先级别。 取值范围:0-4,0级最低,4级最高。 最小值:0 最大值:4 app_id String 应用ID。设备发放的目的接入点的目的应用。 最小长度:1 最大长度:64 app_name String 应用名。设备发放的目的接入点的目的应用。 最小长度:1 最大长度:64 keyword_from String 关键字来源。设备发放静态策略的匹配信息来源。 deviceName: 设备名称,默认的匹配方式,设备信息在被创建后,设备名称包涵设置的关键字,即可按照该行策略指定的发放应用进行实例发放。 payload: 数据上报,如果设备在连接后,进行发放publish时。上报Topic “$oc/devices/${deviceId}/sys/bootstrap/up” 中,json上报的属性 “baseStrategyKeyword” 包含设置的关键字,即可按该实例进行发放。 最小长度:1 最大长度:64 表13 CertStrategyInfo 参数 参数类型 描述 cert_id String 证书ID。 最小长度:1 最大长度:64 cert_name String 证书名称。 最小长度:0 最大长度:256 app_id String 应用ID。设备发放的目的接入点的目的应用。 最小长度:1 最大长度:64 app_name String 应用名。设备发放的目的接入点的目的应用。 最小长度:1 最大长度:64 表14 FunctionStrategyInfo 参数 参数类型 描述 func_name String function名称。 最小长度:1 最大长度:64 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数 最小长度:1 最大长度:360
  • 请求示例 创建静态策略请求示例 POST https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/base{ "access_points" : [ { "access_point_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc71", "region_id" : "cn-north-4" } ], "base_strategy_info" : { "keyword" : "waterMeterDevice", "keyword_from" : "deviceName", "priority" : 0 }} 创建证书策略请求示例 POST https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/certificates{ "access_points" : [ { "access_point_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc71", "region_id" : "cn-north-4" } ], "cert_strategy_info" : { "cert_id" : "dc0f1016f495157344ac5f1296335cff725ef22f" }} 创建自定义策略请求示例 POST https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/functions{ "access_points" : [ { "access_point_id" : "599d1975-ec30-4a5f-a390-ef388a1fbc71", "region_id" : "cn-north-4" }, { "access_point_id" : "dc0f1016f495157344ac5f1296335cff725ef22f", "region_id" : "cn-north-1" } ], "function_strategy_info" : { "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test" }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 authorizer 否 TenantDomainReq object 授权账号信息。access_points为授权租户的接入点时必填。 access_points 是 Array of AccessPointReq objects 策略实例指向的接入点ID。自定义策略(FUNCTION)可填多个接入点ID,其他策略类型只允许填一个接入点ID。 数组长度:1 - 10 base_strategy_info 否 BaseStrategyInfoReq object 静态策略结构体。策略类型为静态策略(base)时必填。 cert_strategy_info 否 CertStrategyInfoReq object 证书策略结构体。策略类型为证书策略(certificates)时必填。 function_strategy_info 否 FunctionStrategyReq object 自定义策略结构体。策略类型为自定义策略(functions)时必填。 表4 TenantDomainReq 参数 是否必选 参数类型 描述 domain_id 是 String 公有云账户ID 表5 AccessPointReq 参数 是否必选 参数类型 描述 access_point_id 是 String 接入点ID。 最小长度:1 最大长度:64 region_id 是 String 接入点所属区域ID。 最小长度:1 最大长度:64 表6 BaseStrategyInfoReq 参数 是否必选 参数类型 描述 keyword 是 String 静态策略的关键字。 最小长度:1 最大长度:256 priority 是 Integer 静态策略的优先级别。 取值范围:0-4,0级最低,4级最高。 最小值:0 最大值:4 app_id 否 String 应用ID。设备发放的目的接入点的目的应用,不填时,取默认应用。 最小长度:1 最大长度:64 keyword_from 否 String 关键字来源。设备发放静态策略的匹配信息来源。 deviceName: 设备名称,默认的匹配方式,设备信息在被创建后,设备名称包涵设置的关键字,即可按照该行策略指定的发放应用进行实例发放。 payload: 数据上报,如果设备在连接后,进行发放publish时。上报Topic “$oc/devices/${deviceId}/sys/bootstrap/up” 中,json上报的属性 “baseStrategyKeyword” 包含设置的关键字,即可按该实例进行发放。 缺省值:deviceName 最小长度:1 最大长度:64 表7 CertStrategyInfoReq 参数 是否必选 参数类型 描述 cert_id 是 String 证书ID。 最小长度:1 最大长度:64 app_id 否 String 应用ID。设备发放的目的接入点的目的应用,不填时,取默认应用。 最小长度:1 最大长度:64 表8 FunctionStrategyReq 参数 是否必选 参数类型 描述 func_urn 是 String 函数的URN(Uniform Resource Name),唯一标识函数 最小长度:1 最大长度:360
  • URI POST /v5/iotps/{project_id}/allocation-strategies/{strategy_type} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 strategy_type 是 String 策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。 缺省值:base
  • 响应示例 状态码: 200 Successful response { "registration_group_name" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "registration_group_id" : "4922", "certificate_id" : "2b31ed520ebedb6e57", "auth_type" : "CERTIFICATES", "strategy_type" : "functions", "function_name" : "d4922d8", "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 certificate_id String CA证书id 最小长度:0 最大长度:256 cert_type String 证书类型 strategy_type String 策略类型。目前支持静态策略(base),证书策略(certificates)和自定义策略(functions)。 缺省值:functions function_name String 自定义函数名称。 最小长度:1 最大长度:256 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数。 最小长度:1 最大长度:360 registration_group_id String 注册组id,用于唯一标识一个注册组 auth_type String 认证类型 registration_group_name String 注册组名称。 最小长度:1 最大长度:256 init_config String 注册组的初始化配置。必须为json字符串 最小长度:1 最大长度:65535
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于查询接入点列表接口,返回如下消息体。 { "access_points": [ { "access_point_id": "DMP-CNNorth-1-1", "access_point_name": "设备管理-北京一-1", "region_id": "cn-north-1" }, { "access_point_id": "DMP-CNNorth-4-1", "access_point_name": "设备管理-北京四-1", "region_id": "cn-north-4" } ]} 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code": 100906, "error_desc": "address is null"} 其中,error_code表示错误码,error_desc表示错误描述信息。
  • URI GET /v5/iotps/{project_id}/registration-groups/{registration_group_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id。 最小长度:1 最大长度:32 registration_group_id 是 String 注册组id,用于唯一标识一个注册组 最小长度:1 最大长度:256
  • 请求示例 更新设备 PUT https://{endpoint}/v5/iotps/{project_id}/devices/d4922d8a-6c8e-4396-852c-164aefa6638f{ "device_name" : "dianadevice", "description" : "watermeter device", "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "auth_info" : { "secure_access" : true, "timeout" : 300 }, "provision_info" : { "life_time" : 84600 }}
  • 响应示例 状态码: 200 OK { "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id" : "ABC123456789", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "device_name" : "dianadevice", "node_type" : "ENDPOINT", "description" : "watermeter device", "auth_info" : { "auth_type" : "SECRET", "secret" : "3b935a250c50dc2c6d481d048cefdc3c", "fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f", "secure_access" : true, "timeout" : 300 }, "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "create_time" : "20190303T081011Z", "provision_info" : { "access_point" : { "access_point_id" : "cn-north-4", "access_point_name" : "cn-north-4", "region_id" : "cn-north-4" }, "allocation_status" : 0, "allocation_strategy_type" : "base", "life_time" : 84600 }}
共99354条