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 示例: