华为云用户手册

  • 请求参数 表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
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 strategies Array of StrategyResp objects 发放策略实例列表 数组长度:0 - 1000 page Page object 查询结果的分页信息。 表5 StrategyResp 参数 参数类型 描述 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 自定义策略结构体 表6 TenantDomainResp 参数 参数类型 描述 domain_id String 公有云账户ID domain_name String 公有云账户名 最小长度:1 最大长度:64 表7 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 表8 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 表9 CertStrategyInfo 参数 参数类型 描述 cert_id String 证书ID。 最小长度:1 最大长度:64 cert_name String 证书名称。 最小长度:0 最大长度:256 app_id String 应用ID。设备发放的目的接入点的目的应用。 最小长度:1 最大长度:64 app_name String 应用名。设备发放的目的接入点的目的应用。 最小长度:1 最大长度:64 表10 FunctionStrategyInfo 参数 参数类型 描述 func_name String function名称。 最小长度:1 最大长度:64 func_urn String 函数的URN(Uniform Resource Name),唯一标识函数 最小长度:1 最大长度:360 表11 Page 参数 参数类型 描述 count Long 满足查询条件的记录总数,最大返回1000条记录。 最小值:0 最大值:1000 marker String 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 最小长度:0 最大长度:64
  • 请求示例 查询静态策略请求示例 GET https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/base 查询证书策略请求示例 GET https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/certificates 查询自定义策略请求示例 GET https://{endpoint}/v5/iotps/{project_id}/allocation-strategies/functions
  • 响应示例 状态码: 200 OK 示例 1 { "page" : { "count" : 2, "marker" : 2 }, "strategies" : [ { "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" } }, { "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" : "deviceName" } } ] } 示例 2 { "page" : { "count" : 1, "marker" : 1 }, "strategies" : [ { "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 { "page" : { "count" : 1, "marker" : 1 }, "strategies" : [ { "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" } } ] }
  • URI GET /v5/iotps/{project_id}/allocation-strategies/{strategy_type} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 strategy_type 是 String 策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。 缺省值:base 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 分页查询时每页显示的记录数,默认值为10,取值范围为1-50的整数。 最小值:1 最大值:50 缺省值:10 marker 否 String 上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由 物联网平台 返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 缺省值:999999999999999999999999 最小长度:24 最大长度:24
  • 响应参数 状态码: 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
  • 响应示例 状态码: 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" }
  • 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
  • 响应示例 状态码: 200 OK { "certificates" : [ { "certificate_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "cert_name" : "huawei", "cn_name" : "huawei", "owner" : "huawei", "status" : true, "verify_code" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "create_date" : "20190301T1910Z", "effective_date" : "20190301T1910Z", "expiry_date" : "20190301T1910Z" } ], "page" : { "count" : 1, "marker" : "d4922d8a-6c8e-4396-852c-164aefa6638f" } }
  • URI GET /v5/iotps/{project_id}/certificates 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 cert_name 否 String 证书名称。 最小长度:0 最大长度:256 marker 否 String 上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 缺省值:999999999999999999999999 最小长度:24 最大长度:24 limit 否 Integer 分页查询时每页显示的记录数,默认值为10,取值范围为1-50的整数。 最小值:1 最大值:50 缺省值:10
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 certificates Array of CertificatesRspDTO objects 证书列表。 数组长度:0 - 1000 page Page object 查询结果的分页信息。 表5 CertificatesRspDTO 参数 参数类型 描述 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 表6 Page 参数 参数类型 描述 count Long 满足查询条件的记录总数,最大返回1000条记录。 最小值:0 最大值:1000 marker String 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 最小长度:0 最大长度:64
  • 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
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 registration_group_devices Array of RegistrationGroupDevices objects 注册组信息。 数组长度:0 - 1000 page Page object 查询结果的分页信息。 表5 RegistrationGroupDevices 参数 参数类型 描述 device_id String 设备id,用于唯一标识一个设备 最小长度:1 最大长度:256 app_name String 应用名。 最小长度:1 最大长度:256 access_point_name String 接入点名称。 最小长度:1 最大长度:256 device_name String 设备名称。 最小长度:1 最大长度:256 status Integer 设备引导状态。 取值如下: 0:成功; 1:失败; 2:默认。 最小值:0 最大值:2 create_time String 在物联网平台注册设备的时间。 最小长度:0 最大长度:128 modify_time String 在物联网平台修改设备的时间。 最小长度:0 最大长度:128 表6 Page 参数 参数类型 描述 count Long 满足查询条件的记录总数,最大返回1000条记录。 最小值:0 最大值:1000 marker String 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 最小长度:0 最大长度:64
  • 响应示例 状态码: 200 OK { "registration_group_devices" : [ { "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "app_name" : "ABC123456789", "access_point_name" : "d4922d8a-6c8e-4396-852c-164aefa668f", "device_name" : "dianadevice" } ], "page" : { "count" : 1, "marker" : "d4922d8a-6c8e-4396-852c-164aefa6638f" } }
  • URI GET /v5/iotps/{project_id}/registration-groups/{registration_group_id}/devices 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id。 最小长度:1 最大长度:32 registration_group_id 是 String 注册组id,用于唯一标识一个注册组 最小长度:1 最大长度:256 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 分页查询时每页显示的记录数,默认值为10,取值范围为1-50的整数。 最小值:1 最大值:50 缺省值:10 marker 否 String 上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 缺省值:999999999999999999999999 最小长度:24 最大长度:24 device_id 否 String 设备ID,支持模糊查询。 最小长度:4 最大长度:128 device_name 否 String 设备名称。 最小长度:0 最大长度:256 status 否 String 设备引导状态。
  • 响应参数 状态码: 200 表6 响应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 设备的发放信息。 表7 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 表8 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 表9 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 表10 ApplicationResp 参数 参数类型 描述 app_id String 应用id。 最小长度:1 最大长度:64 app_name String 应用名称。 最小长度:1 最大长度:256
  • 响应示例 状态码: 200 OK 示例 1 { "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 } } 示例 2 { "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" : "certificates", "life_time" : 84600 } } 示例 3 { "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" : "functions", "life_time" : 84600 } }
  • 请求示例 创建设备(静态策略)请求示例 POST https://{endpoint}/v5/iotps/{project_id}/devices { "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id" : "ABC123456789", "device_name" : "dianadevice", "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "access_point_id" : "dc0f1016f495157344ac5f1296335cff725ef22f", "region_id" : "cn-north-4", "auth_info" : { "auth_type" : "SECRET", "secret" : "3b935a250c50dc2c6d481d048cefdc3c", "fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f", "secure_access" : true, "timeout" : 300 }, "description" : "watermeter device", "gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f", "provision_info" : { "allocation_strategy_type" : "base", "life_time" : 84600 } } 创建设备(证书策略)请求示例 POST https://{endpoint}/v5/iotps/{project_id}/devices { "device_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id": "ABC123456789", "device_name": "dianadevice", "product_id": "b640f4c203b7910fc3cbd446ed437cbd", "access_point_id": "dc0f1016f495157344ac5f1296335cff725ef22f", "region_id": "cn-north-4", "auth_info": { "auth_type": "SECRET", "secret": "3b935a250c50dc2c6d481d048cefdc3c", "fingerprint": "dc0f1016f495157344ac5f1296335cff725ef22f", "secure_access": true, "timeout": 300 }, "description": "watermeter device", "gateway_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "provision_info": { "allocation_strategy_type": "certificates" "certificate_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "life_time": 84600 } } 创建设备(自定义策略)请求示例 POST https://{endpoint}/v5/iotps/{project_id}/devices { "device_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "node_id": "ABC123456789", "device_name": "dianadevice", "product_id": "b640f4c203b7910fc3cbd446ed437cbd", "access_point_id": "dc0f1016f495157344ac5f1296335cff725ef22f", "region_id": "cn-north-4", "auth_info": { "auth_type": "SECRET", "secret": "3b935a250c50dc2c6d481d048cefdc3c", "fingerprint": "dc0f1016f495157344ac5f1296335cff725ef22f", "secure_access": true, "timeout": 300 }, "description": "watermeter device", "gateway_id": "d4922d8a-6c8e-4396-852c-164aefa6638f", "provision_info": { "allocation_strategy_type": "functions" "func_urn": "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test", "life_time": 84600 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 device_id 否 String 设备ID,用于唯一标识一个设备。如果携带该参数,平台将设备ID设置为该参数值;如果不携带该参数,设备ID由物联网平台分配获得,生成规则为"product_id" + "_" + "node_id"拼接而成。 node_id 是 String 设备标识码,通常使用IMEI、MAC地址或Serial No作为node_id。(注意:NB设备由于模组烧录信息后无法配置,所以NB设备会校验node_id全局唯一。) device_name 否 String 设备名称。 最小长度:1 最大长度:256 product_id 是 String 设备关联的产品ID,用于唯一标识一个产品模型,在管理门户导入产品模型后由平台分配获得。 access_point_id 是 String 产品关联的接入点ID。 最小长度:1 最大长度:64 region_id 是 String 接入点所属区域ID。 最小长度:1 最大长度:64 auth_info 否 AuthInfo object 设备的接入认证信息。 description 否 String 设备的描述信息。 最大长度:2048 gateway_id 否 String 网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。 provision_info 否 ProvisionInfoReq 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 ProvisionInfoReq 参数 是否必选 参数类型 描述 allocation_strategy_type 否 String 策略类型。 取值如下: base:静态策略; certificates:证书策略; functions:自定义策略; nearby:就近策略。 缺省值:base certificate_id 否 String 证书ID。证书模式必填该字段,如果CA证书是用户自定义并在设备发放服务上传的,填写设备发放服务生成的证书ID。如果CA证书是在云证书管理服务生成的,证书ID为云证书管理服务生成的证书ID。 最小长度:0 最大长度:256 func_urn 否 String 函数的URN(Uniform Resource Name),唯一标识函数。自定义策略下必填该字段。 最小长度:1 最大长度:360 bs_secret 否 String 引导服务端PSK。 最小长度:8 最大长度:32 life_time 否 Integer LWM2M设备导入的默认生命周期。 取值范围:0-604800。 最小值:0 最大值:604800 init_config 否 String 设备的初始化配置。必须为json字符串 最小长度:1 最大长度:65535
  • 响应示例 状态码: 200 OK { "access_points" : [ { "access_point_id" : "DMP-CNNorth-1-1", "access_point_name" : "设备管理-北京一-1", "region_id" : "cn-north-1", "region_name" : "华北-北京一", "edition" : "Basic" }, { "access_point_id" : "DMP-CNNorth-4-1", "access_point_name" : "设备管理-北京四-1", "region_id" : "cn-north-4", "region_name" : "华北-北京四", "edition" : "Standard" }, { "access_point_id" : "DMP-CNNorth-4-1", "access_point_name" : "设备管理-北京四-1", "region_id" : "cn-north-4", "region_name" : "华北-北京四", "edition" : "Enterprise" } ] }
  • URI GET /v5/iotps/{project_id}/access-points 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 authorizing_domain_id 否 String 授权租户的账户ID 最小长度:1 最大长度:128 region_id 否 String 区域ID,用于区分不同的区域。 最小长度:1 最大长度:64
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 access_points Array of AccessPointItem objects 接入点列表。 数组长度:0 - 100 表5 AccessPointItem 参数 参数类型 描述 access_point_id String 接入点id。 最小长度:1 最大长度:256 access_point_name String 接入点名称。 最小长度:1 最大长度:256 region_id String 华为云区域ID。节选自https://developer.huaweicloud.com/endpoint。 最小长度:1 最大长度:128 region_name String 华为云区 域名 称。节选自https://developer.huaweicloud.com/endpoint。 最小长度:1 最大长度:128 edition String 实例版本。Basic:基础版;Enterprise:企业版;Standard:基础版。 最小长度:1 最大长度:256
  • URI GET /v5/iotps/{project_id}/access-points/{access_point_id}/applications 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 access_point_id 是 String 接入点id,用于区分不同的区域。 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 authorizing_domain_id 否 String 授权租户的账户ID 最小长度:1 最大长度:128 region_id 是 String 区域ID,用于区分不同的区域。 最小长度:1 最大长度:64 access_key 否 String 鉴权接入名。 最小长度:0 最大长度:256
  • URI DELETE /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 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" } }
  • URI POST /v5/iotps/{project_id}/allocation-strategies/{strategy_type} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1 最大长度:32 strategy_type 是 String 策略类型。支持静态策略(base)、证书策略(certificates)、自定义策略(functions)多种策略类型。 缺省值:base
  • 请求参数 表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
共100000条