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);
}
}