Create Logical Asset (Preview)


Create a logical asset.

Operation Permissions

Required Authorization Required Operation Permission
Asset Tree Management Full Access

Request Format

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

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>>

Request Parameters (Body)

Name Mandatory/Optional Data Type Description
assetInstance Mandatory AssetCreateVo Struct The details needed to create the logical asset. For more information, see below.

AssetCreateVo Struct

Name Mandatory/Optional Data Type Description
modelId Mandatory String The model ID which the asset belongs to. How to get modelID>>
name Mandatory StringI18n The asset name. For more details on the structure and locales supported, see Internationalized name struct.
timezone Mandatory String Timezone of the asset’s location. For details, see timezone representation.
description Optional String The asset description.
attributes Depends on the model feature definition 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.
tags Optional Map (Key and Value are of String type) User-defined tags. For more information, see How to use tag.

Response Parameters

Name Data Type Description
data String The ID of the created logical asset.

Error Codes

Code Message Description
17946 Quota limit error The assets under this OU have exceeded the upper limit.
17986 TSL instance validation failed The verification of the asset using the model failed.

Samples

Request Sample

url: https://{apigw-address}/asset-service/v2.1/logical-assets?action=create&orgId=yourOrgId
method: POST
requestBody:
{
  "assetInstance": {
       "modelId": "model_001",
       "name": {
           "defaultValue": "instanceName",
           "i18nValue": {
                    "en_US": "English name ",
                    "zh_CN": "Chinese name"
                        }
               },
       "description": "description",
       "attributes": {
         "color": "blue",
         "number": 135
       },
       "timezone": "+08:00",
       "tags": {
           "year": "2000",
           "author": "authorName"
               }
           }
}

Return Sample

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

Java SDK Sample

public class CreateLogicAssetTest {

    private static String accessKey = "yourAccessKey";
    private static String secretKey = "yourSecretKey";
    private static String orgId = "yourOrgId";
    private static String serverUrl = "https://{apigw-address}";

    @Test
    public void testCreateAssetNode() {
        CreateLogicAssetRequest request = new CreateLogicAssetRequest();
        request.setOrgId(orgId);
        String modelId = "model_001";//enter the model ID
        Map < String, String > i18nValue = new HashMap();
        I18nVo name = new I18nVo();
        name.setDefaultValue("instanceName");
        name.setI18nValue(i18nValue);
        AssetCreateVo asset = new AssetCreateVo();
        asset.setModelId(modelId);
        asset.setName(name);
        asset.setTimezone("+08:00");
        asset.setDescription("description");
        request.setAsset(asset);
        CreateLogicAssetResponse response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
            .url(serverUrl).getResponse(request, CreateLogicAssetResponse.class);
    }
}