Help Center> Cloud Phone Host> API Reference> Cloud Phone Server APIs> ADB Commands> Running the Asynchronous ADB shell Commands
Updated on 2023-03-16 GMT+08:00

Running the Asynchronous ADB shell Commands

Function Description

  • API name

    RunShellCommand

  • Function

    This API is used to run the shell command on a cloud phone. This API is an asynchronous API. You can call APIs in Querying the Task Execution Status and Querying the Task Execution Status List to query the task execution result.

  • Notes

    You have granted the read-only permissions on the OBS bucket to the Cloud Phone service system account. For details, see Managing Cloud Phones in Batches in the Cloud Phone User Guide.

    The management plane performance is limited. Executing ADB commands in batches on the same server blocks the execution of other tasks on the cloud phone.

URI

POST /v1/{project_id}/cloud-phone/phones/commands

For details, see Table 1.
Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

For details about how to obtain the project ID, see Obtaining a Project ID.

Request

  • Parameter description

    Parameter

    Mandatory

    Type

    Description

    command

    Yes

    String

    Specifies the ADB command. The value is fixed at shell.

    content

    Yes

    String

    Specifies the command to be executed.

    The value can contain a maximum of 1,024 bytes, including only letters, digits, underscores (_), periods (.), slashes (/), colons (:), and hyphens (-).

    server_ids

    No

    Array of strings

    Specifies the ID list of the cloud phone servers.

    This parameter is mandatory when phone_ids does not need to be configured.

    Obtain it by referring to Querying Cloud Phone Servers.

    phone_ids

    No

    Array of strings

    Specifies the cloud phone ID list.

    This parameter is mandatory when server_ids does not need to be configured.

    Obtain it by referring to Querying Cloud Phones.

  • Example request
    POST https://{CPH Endpoint}/v1/{project_id}/cloud-phone/phones/commands
    {
        "command": "shell",
        "content": "ls -l /system",
        "phone_ids": [
            "1234567b8bab40ffb711234cb80d0234",
            "1678567b8bab40f93711234cb80d0764"
        ]
    }

Response

  • Response parameters

    Parameter

    Type

    Description

    request_id

    String

    Specifies the request ID, which is unique.

    jobs

    Array of objects

    Specifies the task information. For details, see Table 2.

    Table 2 Data structure description of job

    Parameter

    Type

    Description

    phone_id

    String

    Specifies the unique ID of a cloud phone. This parameter is contained in tasks related to cloud phones.

    job_id

    String

    Specifies the unique ID of a task.

  • Example response
    {
        "request_id": "6837531fd3f54550927b930180a706bf",
        "jobs": [
            {
                "phone_id": "1234567b8bab40ffb711234cb80d0234",
                "job_id": "1564567b8bab40f34711234cb80d0123"
            },
            { 
                "phone_id": "1678567b8bab40f93711234cb80d0764",
                "job_id": "1564567b8bab40f34711234cb80d5678"
            }
        ]
    }

Returned Values

See Returned Values.

Error Codes

See Error Codes.