V2.1 Update Device


更新设备。assetId(或 productKeydeviceKey)为请求字段,其他字段为更新字段。

该 API 支持在 EnOS 2.1.0 及以上环境中使用。

操作权限


使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号


需授权的服务

所需操作权限

设备管理服务

Full Access

前提条件


  • 需更新的设备已存在。

  • 已阅读设备相关的 使用限制

请求格式

POST https://{apigw-address}/connect-service/v2.1/devices?action=update

请求参数(URI)

备注

以下非必需字段中,必须提供 assetIdproductKey + deviceKey 的组合,用于指定设备。

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织 ID。如何获取 orgId 信息>>

assetId

Query

可选(见上述注解)

String

资产 ID。如何获取 assetId 信息>>

productKey

Query

可选(见上述注解)

String

设备的 product key,需与 deviceKey 一起使用。如何获取设备的三元组信息>>

deviceKey

Query

可选(见上述注解)

String

设备的 device key,需与 productKey 一起使用。如何获取设备的三元组信息>>

isPatchUpdate

Query

可选

Boolean

是否是局部更新。

  • true (默认):只更新参数中指定字段的值。

  • false:更新所有字段的值,未指定值的字段将被置空,或重置为默认值(如有)。注:当 isPatchUpdatefalse 时,必需指定 timezonedeviceName 的值。

请求参数(Body)

名称

必需/可选

数据类型

描述

timezone

可选

String

更新的设备所在时区。

deviceName

可选

StringI18n

更新的设备名称。其结构参见 国际化名称结构体

deviceAttributes

可选

Map

更新的设备属性

deviceTags

可选

Map(Key 和 Value 为 string)

更新的设备 tags。标签的作用与表示方法>>

deviceDesc

可选

String

更新的设备描述信息。

示例

请求示例

url: https://{apigw-address}/connect-service/v2.1/devices?action=update&orgId=yourOrgId&assetId=yourAssetId
method: POST
requestBody:
{
    "deviceTags": {
        "test": "test_value"
    },
    "deviceAttributes": {
        "int11": 617
    },
    "deviceName": {
        "defaultValue": "testforname",
        "i18nValue": {}
    },
    "deviceDesc": "test for updatedevice"
}

返回示例

{
    "code": 0,
    "msg": "OK",
    "requestId": "0d61752e-0633-4846-abb1-b6fb39801a5f",
    "data": null
}

SDK 示例


你可以在 Github 上获取接入服务的 SDK 示例: