Updated on 2023-03-16 GMT+08:00

Pushing Files

Function Description

  • API name

    PushFile

  • Function

    This API is used to push files to the cloud phone file system. The system downloads and decompresses the specified file, and pushes the decompressed content to the root directory of the cloud phone. Only .tar files can be pushed. You need to upload the .tar files to your OBS bucket in advance. 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.

    The maximum size of a file that can be pushed is 6 GB. That is, files larger than 6 GB in the OBS bucket cannot be pushed to cloud phones. If the size of a file exceeds 6 GB, an error message is returned.

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

  • Request parameters

    Parameter

    Mandatory

    Type

    Description

    command

    Yes

    String

    Specifies the command for managing the cloud phones. Set this parameter to push for file pushing.

    content

    Yes

    String

    Specifies the specified .tar file in the OBS bucket.

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

    Only .tar files can be pushed.

    File format: obs://obs-bucket-name/obs-file-path/file.tar

    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. If both phone_ids and server_ids are available, set phone_ids only.

    Obtain it by referring to Querying Cloud Phones.

    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. If both phone_ids and server_ids are available, set phone_ids only.

    Obtain it by referring to Querying Cloud Phone Servers.

  • Example request
    POST https://{CPH Endpoint}/v1/{project_id}/cloud-phone/phones/commands
    {
        "command": "push",
        "content": "obs://push-bucket/my_apps/test.tar",
        "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.