Update Asset


全量或部分更新资产信息。

操作权限


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

需授权的服务

操作权限

资产树

Full Access

约束条件


  • 需要更新的资产必须存在。

  • 需要更新的目标字段必须存在。

请求格式


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

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

弃用 isPatchUpdate

Query

可选

Boolean

该参数已弃用,推荐使用 updateMode 参数替代。

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

  • false:更新所有字段的值,即未指定值的字段将被置空,或重置为默认值(如有)。

updateMode

Query

可选

String

更新模式。如果请求中包含此参数与 isPatchUpdate 参数,将忽略 isPatchUpdate。可用的选项如下。

  • patchUpdate (默认):只更新参数中指定字段的值。未指定值的字段将被保留。

  • overwrite:更新所有字段的值。必须指定资产名称、时区等必填字段,否则 API 调用将失败。未指定非必填值的字段将置空,或重置为默认值(如有)。

  • tagDelete:只删除指定 assetIdtagKeys 中的指定标签。除 tagKeys 以外的参数将保持不变。

请求参数(Body)


名称

必需/可选

数据类型

描述

asset

必需

AssetUpdateVo 结构体

用于资产更新的信息。其结构参见 AssetUpdateVo 结构体

AssetUpdateVo 结构体


名称

必需/可选

数据类型

描述

assetId

必需

String

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

name

可选

StringI18n

该资产的各语言名称。结构请见 国际化名称结构体>>

description

可选

String

资产描述

attributes

  • 如果 updateModeoverwriteisPatchUpdatefalseattributes 必填,且必须包括所有模型功能定义中已规定的属性,并为他们赋值。

  • 如果 updateModepatchUpdateisPatchUpdatetrueattributes 可选,其对应的模型功能定义中的属性也都是选填的,属性的值也可以留空。

Map(Key 为 String,Value 的数据类型由模型功能定义决定)

资产所属的模型属性,Key 为属性 ID。更多信息,参见 attributes 的表示方法>>

timezone

可选

String

时区。时区表示方法>>

tags

可选

Map (Key 和 Value 为 String)

用户自定义标签。标签的作用与表示方法>>

tagKeys

仅当 updateModetagDelete 才生效。

String 数组

待删除资产标签的列表,由其标签键定义。

错误码


代码

错误信息

描述

12404

Asset is not existent

assetId 未找到或不存在。

12958

Asset validate failed

由于资产属性校验失败导致更新失败。

示例

请求示例


url: https://{apigw-address}/asset-service/v2.1/assets?action=update&orgId=yourOrgId&updateMode=tagDelete
method: POST
requestBody:
{
  "asset": {
    "assetId": "yourAssetId",
    "name": {
      "defaultValue": "instanceName",
      "i18nValue": {
        "en_US": "English name ",
        "zh_CN": "Chinese name"
      }
    },
    "description": "description",
    "attributes": {
      "number": 135
    },
    "timezone": "+08:00",
    "tags": {
      "year": "2000",
      "author": "authorName"
    },
    "tagKeys": ["book1","book2"]
  }
}

返回示例


{
  "code": 0,
  "msg": "OK",
  "requestId": "fa11232e-7e45-4176-a382-963c1240a27f"
}

SDK 示例


你可以在 Github 上获取资产服务 API 的 SDK 示例: