华为云用户手册

  • 请求示例 修改设备,修改设备的名为device,接入类型为安全接入。 PUT https://{endpoint}/v5/iot/{project_id}/devices/{device_id} { "device_name" : "device", "description" : "watermeter device", "extension_info" : { "aaa" : "xxx", "bbb" : 0 }, "auth_info" : { "secure_access" : true } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 表3 请求Body参数 参数 是否必选 参数类型 描述 device_name 否 String 参数说明:设备名称,资源空间下唯一,用于资源空间下唯一标识一个设备。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合,建议不少于4个字符。 最小长度:1 最大长度:256 description 否 String 参数说明:设备的描述信息。 取值范围:长度不超过2048,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合 最大长度:2048 extension_info 否 Object 参数说明:设备扩展信息。用户可以自定义任何想要的扩展信息,修改子设备信息时不会下发给网关。 auth_info 否 AuthInfoWithoutSecret object 参数说明:设备的接入认证信息。 表4 AuthInfoWithoutSecret 参数 是否必选 参数类型 描述 secure_access 否 Boolean 参数说明:指设备是否通过安全协议方式接入。 取值范围: true:通过安全协议方式接入。 false:通过非安全协议方式接入。非安全接入的设备存在被仿冒等安全风险,请谨慎使用。 缺省值:true timeout 否 Integer 参数说明:设备接入的有效时间,单位:秒,默认值:0。若设备在有效时间内未接入 物联网平台 并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示平台不会删除该设备的注册信息(建议填写为“0”)。 注意:该参数只对直连设备生效 最小值:0 最大值:2147483647 缺省值:0
  • URI PUT /v5/iot/{project_id}/devices/{device_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 device_id 是 String 参数说明:设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。
  • 响应示例 状态码: 200 Ok { "flowcontrol_policies" : [ { "policy_id" : "adadd5cb-6383-4b5b-a65c-f8c92fdf3c34", "policy_name" : "policyName", "description" : "description", "scope" : "CHANNEL", "scope_value" : "HTTP_FORWARDING", "limit" : 10 } ], "count" : 10, "marker" : "5c90fa7d3c4e4405e8525079" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 flowcontrol_policies Array of FlowControlPolicyInfo objects 数据流转流控策略列表。 数组长度:0 - 50 count Integer 满足查询条件的记录总数。 marker String 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 表5 FlowControlPolicyInfo 参数 参数类型 描述 policy_id String 参数说明:数据流转流控策略id,用于唯一标识一个数据流转流控策略,在创建数据流转流控策略时由物联网平台分配获得。 policy_name String 参数说明:数据流转流控策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 description String 参数说明:用户自定义的数据流转流控策略描述。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 scope String 参数说明:流控策略作用域. 取值范围: USER:租户级流控策略。 CHANNEL:转发通道级流控策略。 RULE:转发规则级流控策略。 ACTION:转发动作级流控策略。 scope_value String 参数说明:流控策略作用域附加值。 scope取值为USER时,可不携带该字段,表示租户级流控。 scope取值为CHANNEL时,取值范围:HTTP_FORWARDING、DIS_FORWARDING、OBS_FORWARDING、AMQP_FORWARDING、DMS_KAFKA_FORWARDING。 scope取值为RULE时,该字段为对应的ruleId。 scope取值为ACTION时,该字段为对应的actionId。 limit Integer 参数说明:数据转发流控大小。单位为tps,取值范围为1~1000的整数,默认为1000. 最小值:1 最大值:1000 缺省值:1000
  • URI GET /v5/iot/{project_id}/routing-rule/flowcontrol-policy 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 表2 Query参数 参数 是否必选 参数类型 描述 scope 否 String 参数说明:流控策略作用域。不携带该参数时,查询所有作用域流控策略;取值USER时,查询租户级流控策略;取值为CHANNEL时,查询转发通道级流控策略;取值为RULE时,查询转发规则级流控策略;取值为ACTION时,查询转发动作级流控策略。 scope_value 否 String 参数说明:流控策略作用域附加值。 不携带scope参数或scope参数取值为USER时,可不携带该字段,查询租户级流控策略。 scope参数取值为CHANNEL时,不携带该字段表示查询所有转发通道级流控策略,携带该字段表示查询该字段取值对应转发通道的流控策略。取值范围:HTTP_FORWARDING、DIS_FORWARDING、OBS_FORWARDING、AMQP_FORWARDING、DMS_KAFKA_FORWARDING。 scope参数为RULE时,不携带该字段表示查询所有转发规则级流控策略,携带该字段表示查询该字段取值对应转发规则的流控策略。 scope参数为ACTION时,不携带该字段表示查询所有转发动作级流控策略,携带该字段表示查询该字段取值对应转发动作的流控策略。 policy_name 否 String 参数说明:数据流转流控策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 limit 否 Integer 参数说明:分页查询时每页显示的记录数。默认每页10条记录,最大设定每页50条记录。 取值范围:1-50的整数,默认值为10。 最小值:1 最大值:50 缺省值:10 marker 否 String 参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。 缺省值:ffffffffffffffffffffffff offset 否 Integer 参数说明:表示从marker后偏移offset条记录开始查询。默认为0,取值范围为0-500的整数。当offset为0时,表示从marker后第一条记录开始输出。 - 限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 取值范围:0-500的整数,默认为0。 最小值:0 最大值:500 缺省值:0
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。
  • 下行请求示例 Topic: $oc/devices/{device_id}/sys/commands/request_id={request_id} 数据格式: { "object_device_id": "{object_device_id}", "command_name": "ON_OFF", "service_id": "WaterMeter", "paras": { "value": "1" } }
  • 下行请求参数说明 字段名 必选/可选 类型 参数描述 object_device_id 可选 String 平台下发时,若为网关子设备,该参数为Topic中设备的子设备Id。 平台下发时,若为直连设备,该参数会与Topic中的device_id一致。 service_id 可选 String 设备的服务ID,在设备关联的产品模型中定义。 command_name 可选 String 设备命令名称,在设备关联的产品模型中定义。 paras 必选 Object 设备命令的执行参数,具体字段在设备关联的产品模型中定义。
  • 上行响应示例 Topic:$oc/devices/{device_id}/sys/commands/response/request_id={request_id} 数据格式: { "result_code": 0, "response_name": "COMMAND_RESPONSE", "paras": { "result": "success" } }
  • Topic 下行: $oc/devices/{device_id}/sys/commands/request_id={request_id} 上行:$oc/devices/{device_id}/sys/commands/response/request_id={request_id} {request_id}用于唯一标识这次请求。设备侧收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。 应用通过平台下发设备命令时,平台会生成唯一ID(command_id)用于标识该命令,并返回给应用。同时该唯一标识会通过设备命令下行Topic中的requst_id携带给设备。 设备无法提前感知该request_id,在订阅该Topic时请使用通配符“#”来替代“request_id={request_id}”即为:$oc/devices/{device_id}/sys/commands/#。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。。 Instance-Id 否 String 实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 表3 请求Body参数 参数 是否必选 参数类型 描述 content 是 String 证书内容信息。 最小长度:1 最大长度:65535 app_id 否 String 资源空间ID。此参数为非必选参数,存在多资源空间的用户需要使用该接口时,建议携带该参数指定创建的证书归属到哪个资源空间下,否则创建的证书将会归属到默认资源空间下。
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 certificate_id String CA证书ID,在上传CA证书时由平台分配的唯一标识。 cn_name String CA证书CN名称。 owner String CA证书所有者。 status Boolean CA证书验证状态。true代表证书已通过验证,可进行设备证书认证接入。false代表证书未通过验证。 verify_code String CA证书验证码。 provision_enable Boolean 是否开启自注册能力,当为true时该功能必须配合预调配功能使用,true:是,false:否。 template_id String 绑定的预调配模板ID。 create_date String 创建证书日期。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 effective_date String CA证书生效日期。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 expiry_date String CA证书失效日期。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。
  • 请求示例 上传设备CA证书。 POST https://{endpoint}/v5/iot/{project_id}/certificates { "content" : "-----BEGINCERTIFICATE-----\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-----", "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka" }
  • 响应示例 状态码: 201 Created { "certificate_id" : "string", "cn_name" : "string", "owner" : "string", "status" : true, "verify_code" : "string", "create_date" : "20191212T121212Z", "effective_date" : "20191212T121212Z", "expiry_date" : "20221212T121212Z", "provision_enable" : true, "template_id" : "61c970ce2d63eb6ee655dbf0" }
  • 请求示例 批量任务状态变更通知示例: 批量任务状态变更通知 { "resource" : "batchtask", "event" : "update", "event_time" : "20151212T121212Z", "event_time_ms" : "2015-12-12T12:12:12.000Z", "request_id" : "3fe58d5e-8697-4849-a165-7db128f7e776", "notify_data" : { "body" : { "status_desc" : "status_desc", "task_id" : "1a7ffc5c-d89c-44dd-8265", "task_type" : "softwareUpgrade", "app_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0", "status" : "Waitting" } } }
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 resource 是 String 参数说明:订阅的资源名称,取值为batchtask。 event 是 String 参数说明:订阅的资源事件,取值为update。 event_time 是 String 参数说明:资源事件生成时间,格式:yyyyMMdd'T'HHmmss'Z' UTC字符串,如:20151212T121212Z。若需要显示本地时区,您需要自己进行时间转换。 event_time_ms 否 String 参数说明:资源事件生成时间,格式:yyyy-MM-dd'T'HH:mm:ss.SSS'Z' UTC字符串,如:2015-12-12T12:12:12.000Z。若需要显示本地时区,您需要自己进行时间转换。 request_id 否 String 参数说明:消息ID,由设备侧指定或平台生成,用于跟踪业务流程。 notify_data 是 BatchTaskUpdateNotifyData object 参数说明:设备的自定义字段列表。 表2 BatchTaskUpdateNotifyData 参数 是否必选 参数类型 描述 body 是 BatchTaskUpdate object 参数说明:推送消息body。 表3 BatchTaskUpdate 参数 是否必选 参数类型 描述 app_id 是 String 参数说明:应用ID。 task_id 是 String 参数说明:批量任务ID。调用创建批量任务接口时返回的任务ID。 task_type 是 String 参数说明:任务类型。 firmwareUpgrade:固件升级 softwareUpgrade:软件升级 status 是 String 参数说明:任务状态。 Waitting 任务正在被等待执行 Processing 任务正在执行 Success 任务成功 PartialSuccess 任务部分成功 Fail 任务失败 Stopped 任务被停止 status_desc 是 String 参数说明:任务状态描述。
  • 响应示例 状态码: 200 OK { "device_id" : "c1224afb-e9f0-4916-8220-b6bab568e888", "command_id" : "b1224afb-e9f0-4916-8220-b6bab568e888", "service_id" : "Switch", "command_name" : "ON_OFF", "paras" : { "value" : "ON" }, "expire_time" : 0, "send_strategy" : "immediately", "created_time" : "20151212T121212Z", "status" : "DELIVERED", "result" : { "code" : 200 }, "sent_time" : "20151212T121212Z", "delivered_time" : "20151212T121212Z", "response_time" : "20151212T131312Z" }
  • URI GET /v5/iot/{project_id}/devices/{device_id}/async-commands/{command_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 device_id 是 String 参数说明:下发命令的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 command_id 是 String 参数说明:下发命令的命令id,用于唯一标识一个消息,在下发命令时由物联网平台分配获得。 取值范围:长度不超过100,只允许字母、数字、下划线(_)、连接符(-)的组合。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 device_id String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 command_id String 设备命令ID,用于唯一标识一条命令,在下发设备命令时由物联网平台分配获得。 service_id String 设备命令所属的设备服务ID,在设备关联的产品模型中定义。 command_name String 设备命令名称,在设备关联的产品模型中定义。 paras Object 设备执行的命令,Json格式,里面是一个个健值对,如果service_id不为空,每个健都是profile中命令的参数名(paraName);如果service_id为空则由用户自定义命令格式。设备命令示例:{"value":"1"},具体格式需要应用和设备约定。 expire_time Integer 物联网平台缓存命令的时长, 单位秒。 status String 下发命令的状态。 ·PENDING表示未下发,在物联网平台缓存着 ·EXPIRED表示命令已经过期,即缓存的时间超过设定的expire_time ·SENT表示命令正在下发 ·DELIVERED表示命令已送达设备 ·SUC CES SFUL表示命令已经成功执行 ·FAILED表示命令执行失败 ·TIMEOUT表示命令下发之后,没有收到设备确认或者响应结果一定时间后超时 result Object 设备命令执行的详细结果,由设备返回,Json格式。 created_time String 命令的创建时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 sent_time String 物联网平台发送命令的时间,如果命令是立即下发, 则该时间与命令创建时间一致, 如果是缓存命令, 则是命令实际下发的时间。"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 delivered_time String 物联网平台将命令送达到设备的时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 send_strategy String 下发策略, immediately表示立即下发,delay表示缓存起来,等数据上报或者设备上线之后下发。 response_time String 设备响应命令的时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 物联网平台支持的LwM2M对象资源 表1 资源路径 对象名 资源名 对应平台的功能 /rd?ep={nodeId} Device Register 设备连接 /3/0/3 Device Firmware Version 查询固件版本号 /4/0/0 Connectivity monitoring Network Bearer 识别设备接入网络类型 /4/0 Connectivity monitoring Network Signal Strength 查询信号强度 /4/0/8 Connectivity monitoring Cell ID 小区ID /5/0/1 Firmware Update Package URI 下发固件版本下载链接 /5/0/2 Firmware Update Update 通知固件升级 /5/0/3 Firmware Update State 固件升级状态通知 /5/0/5 Firmware Update Update Result 查询固件升级结果 /19/0/0 BinaryAppDataContainer Data 上行业务消息传输 /19/1/0 BinaryAppDataContainer Data 下行业务数据传输 BinaryAppDataContainer对象: 为简化设备厂商定义并使用LwM2M对象的复杂度,华为定义了19对象,由芯片或模组实现,设备只需要调用AT接口或函数接口来实现业务数据的收发,不需要关心LWM2M协议,参考此规范。
  • AT+HMCON 该指令用于设置MQTT协议连接参数。 指令 参数 参数缺省处理 AT响应结果 使用示例 AT+HMCON=bsmode,lifetime,serverip,serverport,deviceid,passwd,codec bsmode:0表示非bs模式,1表示bs模式。 默认值:0 - AT+HMCON=0,10,"iot-mqtts.cn-north-4.myhuaweicloud.com","8883","testID","testPasswd",0 lifetime:mqtt保持心跳时间,建议大于等于30。 默认值:300 +HMCON OK(连接成功) serverip: 设备接入服务 器地址或者BS服务器地址。 默认值:BS服务器地址 +HMCON ERR:code(连接失败,code表示失败原因码) serverport:设备接入服务器端口或者BS服务器端口。 默认值:MQ TTS 端口8883 - id:设备ID,最大长度256。 注册设备后获取 - pwd:设备密钥,最大长度256。 注册设备后获取 - codec:payload编码方式,0:原始编码,1:十六进制编码。 默认值:0 - 父主题: 模组AT指令参考
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。 最小长度:0 最大长度:36 表3 请求Body参数 参数 是否必选 参数类型 描述 type 否 String 参数说明:接入凭证类型,默认为AMQP的接入凭证类型。 取值范围: [AMQP,MQTT] 最小长度:0 最大长度:16 force_disconnect 否 Boolean 参数说明: 是否将AMQP/MQTT连接断开 缺省值:false
  • 响应示例 状态码: 200 Successful response { "products" : [ { "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "app_name" : "testAPP01", "product_id" : "5ba24f5ebbe8f56f5a14f605", "name" : "Thermometer", "device_type" : "Thermometer", "protocol_type" : "MQTT", "data_format" : "json", "manufacturer_name" : "ABC", "industry" : "smartCity", "description" : "this is a thermometer produced by Huawei", "create_time" : "20190303T081011Z" } ], "page" : { "count" : 10, "marker" : "5c90fa7d3c4e4405e8525079" } }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考查看实例详情 。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 products Array of ProductSummary objects 产品信息列表。 page Page object 查询结果的分页信息。 表5 ProductSummary 参数 参数类型 描述 app_id String 资源空间ID。 app_name String 资源空间名称。 product_id String 产品ID,用于唯一标识一个产品,在物联网平台创建产品后由平台分配获得。 name String 产品名称。 device_type String 设备类型。 protocol_type String 设备使用的协议类型。取值范围:MQTT,CoAP,HTTP,HTTPS,Modbus,ONVIF, OPC-UA,OPC-DA,Other。 data_format String 设备上报数据的格式,取值范围:json,binary。 manufacturer_name String 厂商名称。 industry String 设备所属行业。 description String 产品的描述信息。 create_time String 在物联网平台创建产品的时间,格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 表6 Page 参数 参数类型 描述 count Long 满足查询条件的记录总数。 marker String 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。
  • URI GET /v5/iot/{project_id}/products 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 参数说明:分页查询时每页显示的记录数。 取值范围:1-50的整数,默认值为10。 最小值:1 最大值:50 缺省值:10 marker 否 String 参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。 缺省值:ffffffffffffffffffffffff app_id 否 String 参数说明:资源空间ID。此参数为非必选参数,存在多资源空间的用户需要使用该接口时,可以携带该参数查询指定资源空间下的产品列表,不携带该参数则会查询该用户下所有产品列表。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 product_name 否 String 参数说明:产品名称。 取值范围:长度不超过64,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 offset 否 Integer 参数说明:表示从marker后偏移offset条记录开始查询。当offset为0时,表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 取值范围:0-500的整数,默认为0。 最小值:0 最大值:500 缺省值:0
  • URI DELETE /v5/iot/{project_id}/routing-rule/flowcontrol-policy/{policy_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 policy_id 是 String 参数说明:数据流转流控策略id,用于唯一标识一个数据流转流控策略,在创建数据流转流控策略时由物联网平台分配获得。
共100000条