V2.5 Search Command Jobs


按照筛选条件查询 Command Job。

请求格式

POST https://{apigw-address}/connect-service/v2.5/commands?action=searchJob

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
orgId Query 必需 String 资产所属的组织 ID。如何获取 orgId 信息>>

请求参数(Body)

名称 必需/可选 数据类型 描述
expression 可选 String

查询表达式,支持类 SQL 的查询。

  • jobId 支持 eq in
  • name 支持``like``。
  • status 支持``eq in``。
  • createTime 支持 eq lt lte gt gte

如何使用查询表达式>>

pagination 可选 Pagination 请求结构体

参见 Pagination 请求结构体>>

  • pageNo:Number,分页从1开始,最小值1。
  • pageSize:Number,范围 0 ~ 1000(默认为 10)。

响应参数

名称 数据类型 描述
pagination Pagination 请求结构体 参见 Pagination 请求结构体>>
code Number 请求返回状态值。0表示请求成功,非0表示请求失败。
msg String 对状态码的解释和说明。请求成功为 OK
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 结构体 参见 SchedulePolicy 结构体
timeoutPolicy 结构体 参见 TimeoutPolicy 结构体
retryPolicy 结构体 参见 RetryPolicy 结构体
status String Command Job的状态。
desc String Command Job描述。
commandInfo 结构体 参见 CommandInfo 结构体
createTimestamp Number 创建时间戳。

TargetScope 结构体

名称 数据类型 描述
targetType String 可选择 device_listproduct_key
targetDevices 结构体

targetDevices结构体含:

  • productKey : string
  • deviceKey : string
  • assetId : string,资产ID

SchedulePolicy 结构体

名称 数据类型 描述
scheduleType String 可选择 DISPOSABLE,目前仅一次性触发任务。
disposableSchedulePolicy 结构体 结构体含 triggerTs:Number,触发时间戳。

TimeoutPolicy 结构体

名称 必需/可选 数据类型 描述
inProgressTimeoutInSeconds 可选 Integer 范围 1 ~ 900(默认为 30)
ttlTimeoutInSeconds 可选 Integer 范围 0 ~ 172800(默认为 0)

RetryPolicy 结构体

名称 必需/可选 数据类型 描述
enableRetry 可选 Boolean
  • true:开启失败重试。
  • false:不开启失败重试,默认为 false
retryIntervalInSeconds enableRetrytrue 时必填 Number 失败后自动重试间隔时间(秒)。仅在 enableRetry 时生效。范围 0 ~ 86400(默认为 300)。
retryCount enableRetrytrue 时必填 Number 最大自动重试次数。仅在 enableRetry 时生效,范围:1 ~ 10(默认为 3)。

CommandInfo 结构体

名称 必需/可选 数据类型 描述
commandType 必需 String 可选择 SERVICE_INVOKEMEASUREPOINT_SET
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
    }
}