Create Logical Asset(Preview)¶
创建一个逻辑资产。
操作权限¶
需授权的资源 |
所需操作权限 |
---|---|
资产树管理 |
Full Access |
请求格式¶
POST https://{apigw-address}/asset-service/v2.1/logical-assets?action=create
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
assetInstance |
必需 |
AssetCreateVo 结构体 |
创建逻辑资产所需要的详情。其结构参见下表。 |
AssetCreateVo 结构体¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
modelId |
必需 |
String |
模型 ID。如何获取模型 ID>> |
name |
必需 |
StringI18n |
该资产的各语言名称。其结构参见 国际化名称结构体。 |
timezone |
必需 |
String |
资产所处的时区。其结构参见 时区表示方法。 |
description |
可选 |
String |
该资产的描述。 |
attributes |
由模型功能定义确定 |
Map(Key 为 String,Value 的数据类型由模型功能定义决定) |
资产所属的模型属性,Key 为属性 ID。更多信息,参见 attributes 的表示方法。 |
tags |
可选 |
Map(Key 为 String,Value 为 String) |
用户自定义标签。其结构参见 标签的作用与表示方法。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
String |
创建的逻辑资产 ID。 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
17946 |
Quota limit error |
该 OU 下资产超过上限。 |
17986 |
TSL instance validation failed |
利用模型对该资产校验失败。 |
示例¶
请求示例¶
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"
}
}
}
返回示例¶
{
"code": 0,
"msg": "OK",
"data": "HfzFPn1H",
"requestId": "fa11232e-7e45-4176-a382-963c1240a27f"
}
Java SDK 调用示例¶
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);
}
}