文档

RunServiceSchedule - 执行设备服务调度

调用RunServiceSchedule根据客户ID&IP基本信息,为终端设备最优调度空闲资源(实例设备/容器POD),并完成虚拟设备环境的初始化。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ens:RunServiceSchedule
  • acs:ens::{#accountId}:*

请求参数

名称类型必填描述示例值
AppIdstring

应用 ID

474bdef0-d149-4695-abfb-52912d9143f0
Uuidstring

设备 UUID

hdm_d4f1059a8e1afc0956bd71b497faa433
ClientIpstring

客户端的 IP 地址。

180.166.45.146
ServiceActionstring

调度服务操作。枚举类型,取值范围:

容器化场景:

  • Start:选择并激活一个可调度云设备,启动服务
  • Stop:结束并释放云设备
  • Console:Uuid 处于调度中状态时,进行命令交互

裸金属/虚机场景:

  • PreSchedule:预调度并锁定虚机实例
  • Confirm:确认调度
  • Cancel:取消调度
  • Console:Uuid 处于调度中状态时,进行命令交互
Start
PodConfigNamestring

无效参数

android
PreLockedTimeoutinteger

锁定空闲设备的时间上限,单位秒,仅 ServiceAction=PreSchedule 有效。默认 300。

300
Directorysstring

需要挂载的用户数据文件的目录列表。必须是全路径,不支持'/../',取值示例: ["/data/app01", "/data/user"]。 注意:输入的目录路径是虚拟设备"/data"目录的相对目录,即实际对应的虚拟设备路径为"/data/{输入路径}"

[\"/data/app01\", \"/data/user\"]
ServiceCommandsstring

容器服务命令列表。Json 数组格式的字符串。

[{\"containerName\": \"android\", \"commands\":[\"cat /tmp/token.json\"] }, { \"commands\":[\"ls -l /data/data\"] }]
ScheduleStrategystring

设备调度策略。Json 格式的字符串。

{\"selectLevel\": \"RegionId\", \"values\": [\"cn-chengdu-telecom-2\"] }

返回参数

名称类型描述示例值
object
CommandResultsobject []

容器服务命令的执行结果。

Commandstring

设备(容器)命令。

ls -l /data
ContainerNamestring

容器名。

android
ResultMsgstring

命令执行结果。

success
Indexinteger

调度的目标虚拟设备(容器 Pod)索引号。

1
InstanceIdstring

调度的目标实例 ID。

i-5qvji3mom4ec013dyygmtxlkj
InstanceIpstring

调度的目标实例 IP。

172.16.246.11
InstancePortinteger

调度的目标实例 Port 起始端口。

1024
RequestIdstring

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
RequestRepeatedstring

除 ServcieAction=Console 外,其余 ServcieAction 是否是重复操作。

false
TcpPortsboolean

调度的目标虚机实例/容器的 tcp 服务端口范围,取值格式:${from}-${to},如 80-88。

"80-88"

示例

正常返回示例

JSON格式

{
  "CommandResults": {
    "CommandResult": [
      {
        "Command": "ls -l /data",
        "ContainerName": "android",
        "ResultMsg": "success"
      }
    ]
  },
  "Index": 1,
  "InstanceId": "i-5qvji3mom4ec013dyygmtxlkj",
  "InstanceIp": "172.16.246.11",
  "InstancePort": 1024,
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
  "RequestRepeated": "false",
  "TcpPorts": true
}

错误码

HTTP status code错误码错误信息描述
400MissingParameterThe input parameter that is mandatory for processing this request is not supplied.-
400NoPermissionPermission denied.没有足够的权限,请联系云账号管理员授予您相应权限。
400InvalidParameter.%sThe specified field %s invalid. Please check it again.-
400InvalidParameterThe errorMessage is %s. Please check it again.-
400LimitExceeded.SecurityGroupThe number of securityGroup exceeds the limit.-
400ens.interface.errorAn error occurred while calling the API.-
400CallInterfaceCall Interface Happen Error.接口调用出错。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-12-26OpenAPI 描述信息更新、OpenAPI 错误码发生变更看变更集
变更项变更内容
API 描述OpenAPI 描述信息更新
错误码OpenAPI 错误码发生变更
    错误码 400 变更
  • 本页导读 (1)
文档反馈