V2.5 Search Command Jobs¶
按照筛选条件查询 Command Job。
操作权限¶
使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号。
需授权的服务 |
所需操作权限 |
---|---|
设备管理服务 |
Read |
请求格式¶
POST https://{apigw-address}/connect-service/v2.5/commands?action=searchJob
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
expression |
可选 |
String |
查询表达式,支持类 SQL 的查询。
|
pagination |
可选 |
Pagination 请求结构体 |
|
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
pagination |
Pagination 请求结构体 |
|
code |
Number |
请求返回状态值。0表示请求成功,非0表示请求失败。 |
msg |
String |
对状态码的解释和说明。请求成功为 |
requestId |
String |
每次请求获取的ID,用于唯一标识一次API请求。 |
data |
结构体 |
有关 CommandJob 结构体的定义,参见 CommandJob 结构体。 |
CommandJob 结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
orgId |
String |
资产所属的组织ID。如何获取orgId信息>> |
jobId |
String |
Command task所在的Command job ID。 |
name |
StringI18n |
Job 名称。结构参见 国际化名称结构体。 |
targetScope |
结构体 |
参见 TargetScope 结构体。 |
schedulePolicy |
结构体 |
|
timeoutPolicy |
结构体 |
|
retryPolicy |
结构体 |
参见 RetryPolicy 结构体。 |
status |
String |
Command Job的状态。 |
desc |
String |
Command Job描述。 |
commandInfo |
结构体 |
参见 CommandInfo 结构体。 |
createTimestamp |
Number |
创建时间戳。 |
TargetScope 结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
targetType |
String |
可选择 |
targetDevices |
结构体 |
targetDevices结构体含:
|
SchedulePolicy 结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
scheduleType |
String |
可选择 |
disposableSchedulePolicy |
结构体 |
结构体含 |
TimeoutPolicy 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
inProgressTimeoutInSeconds |
可选 |
Integer |
范围 1 ~ 900(默认为 30) |
ttlTimeoutInSeconds |
可选 |
Integer |
范围 0 ~ 172800(默认为 0) |
RetryPolicy 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
enableRetry |
可选 |
Boolean |
|
retryIntervalInSeconds |
|
Number |
失败后自动重试间隔时间(秒)。仅在 enableRetry 时生效。范围 0 ~ 86400(默认为 300)。 |
retryCount |
|
Number |
最大自动重试次数。仅在 enableRetry 时生效,范围:1 ~ 10(默认为 3)。 |
CommandInfo 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
commandType |
必需 |
String |
可选择 |
setMeasurepointInfo |
可选 |
结构体 |
结构体含
|
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.5/commands?action=searchJob&orgId=yourOrgId
method: POST
requestBody:
{
"expression": "jobId in ('jobId')",
"pagination": {
"pageNo": 1,
"pageSize": 100
}
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "c30c7225-ed42-454d-8409-ff4b5426e868",
"data": [{
"orgId": "yourOrgId",
"jobId": "jobId",
"name": {
"defaultValue": "commandJobName",
"i18nValue": {
"en_US": "name",
"zh_CN": "t中文名"
}
},
"targetScope": {
"targetType": "DEVICE_LIST",
"targetDevices": [{
"assetId": null,
"productKey": "productKey",
"deviceKey": "deviceKey"
}]
},
"schedulePolicy": {
"scheduleType": "DISPOSABLE",
"disposableSchedulePolicy": {
"triggerTs": 1718952446317
}
},
"timeoutPolicy": {
"inProgressTimeoutInSeconds": 30,
"ttlTimeoutInSeconds": 20
},
"retryPolicy": {
"enableRetry": true,
"retryIntervalInSeconds": 300,
"retryCount": 3
},
"desc": "commandJobDescription",
"status": "ENABLED",
"commandInfo": {
"commandType": "SERVICE_INVOKE",
"serviceInvokeInfo": {
"serviceId": "serviceId",
"inputData": {
"input": 22
}
},
"measurepointSetInfo": null
},
"createTimestamp": 1718952422050
}],
"pagination": {
"sortedBy": null,
"pageNo": 1,
"pageSize": 100,
"totalSize": 1
}
}