Update Asset¶
Update asset information.
Operation Permissions¶
Required Authorization | Required Operation Permission |
---|---|
Asset Tree Management | Full Access |
Prerequisite¶
- The asset to be updated must exist.
- The fields to be updated must exist.
Request Format¶
POST https://{apigw-address}/asset-service/v2.1/assets?action=update
Request Parameters (URI)¶
Name | Location (Path/Query) | Mandatory/Optional | Data Type | Description |
---|---|---|---|---|
orgId | Query | Mandatory | String | The organization ID which the asset belongs to. How to get orgId>> |
(deprecated) isPatchUpdate | Query | Optional | Boolean | This parameter is deprecated from 2.3 Cumulative Update 2. It is recommended to use
|
updateMode | Query | Optional | String | The update method, available if 2.3 Cumulative Update 2 has been applied to your environment. If both
|
Request Parameters (Body)¶
Name | Mandatory/Optional | Data Type | Description |
---|---|---|---|
asset | Mandatory | AssetUpdateVo Struct | The details for updating the asset. For more information, see AssetUpdateVo Struct. |
AssetUpdateVo Struct ¶
Name | Mandatory/Optional | Data Type | Description |
---|---|---|---|
assetId | Mandatory | String | The asset ID. How to get assetId>> |
name | Optional | StringI18n | Specify the asset’s name in its respective locale’s language. For more details on the structure and locales supported, see Internationalized name struct. |
description | Optional | String | The asset description. |
attributes |
|
Map (Key is of String type, and Value depends on the attribute defined in the model) | Attributes of the model which the asset belongs to. Key is the attribute ID. For more information, see attributes representation. |
timezone | Optional | String |
For details, see Timezone representation. |
tags | Optional | Map (Key and Value are of String type) | User-defined tags. For more information, see How to use tag. |
tagKeys | Only applicable when updateMode is tagDelete . |
String Array | The list of tags under the asset to be deleted, defined by their tag keys. |
Error Codes¶
Code | Message | Description |
---|---|---|
12404 | Asset is not existent | The assetId cannot be found or does not exist. |
12958 | Asset validate failed | Update failed due to asset attribute verification failure. |
Samples¶
Request Sample¶
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"]
}
}
Return Sample¶
{
"code": 0,
"msg": "OK",
"requestId": "fa11232e-7e45-4176-a382-963c1240a27f"
}
Java SDK Sample¶
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.asset_service.v2_1.UpdateAssetRequest;
import com.envisioniot.enos.asset_service.v2_1.UpdateAssetResponse;
import com.envisioniot.enos.asset_service.vo.AssetUpdateVo;
import java.util.HashMap;
import java.util.Map;
public class UpdateAsset {
private static String accessKey = "yourAccessKey";
private static String secretKey = "yourSecretKey";
private static String orgId = "yourOrgId";
private static String serverUrl = "https://{apigw-address}";
//Make sure that an asset with this asset ID and the fields to be updated exist.
public static void main(String[] args) {
UpdateAssetRequest request = new UpdateAssetRequest();
request.setOrgId(orgId);
request.setUpdateMode(UpdateAssetRequest.UPDATE_MODE_TAG_DELETE);
AssetUpdateVo asset = new AssetUpdateVo();
Map<String,String> tags = new HashMap<>();
tags.put("book1","book2");
asset.setTags(tags);
asset.setAssetId("yourAssetId");
request.setAsset(asset);
UpdateAssetResponse response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
.url(serverUrl)
.getResponse(request, request.getResponseClass());
System.out.println(response);
}
}