Updating a Log Transfer Task

Function

This API is used to update an OBS transfer task.

URI

PUT /v2/{project_id}/transfers

Table 1 URI parameter

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain a project ID, see Obtaining the Account ID, Project ID, Log Group ID, and Log Stream ID.

Minimum length: 32 characters

Maximum length: 32 characters

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token obtained from IAM.

Minimum length: 1000 characters

Maximum length: 2000 characters

Content-Type

Yes

String

Set this parameter to application/json;charset=UTF-8.

Minimum length: 30 characters

Maximum length: 30 characters

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

log_transfer_id

Yes

String

Log transfer task ID.

Minimum length: 36 characters

Maximum length: 36 characters

log_transfer_info

Yes

Table 4 object

Log transfer information.

Table 4 log_transfer_info

Parameter

Mandatory

Type

Description

log_storage_format

Yes

String

Log transfer format. The value can be RAW or JSON. RAW indicates raw log format, whereas JSON indicates JSON format. JSON and RAW are supported for OBS and DIS transfer tasks, but only RAW is supported for DMS transfer tasks.

Enumerated values:

  • JSON

  • RAW

log_transfer_status

Yes

String

Log transfer status. ENABLE indicates that log transfer is enabled, DISABLE indicates that log transfer is disabled, and EXCEPTION indicates that log transfer is abnormal.

Enumerated values:

  • ENABLE

  • DISABLE

  • EXCEPTION

log_transfer_detail

Yes

Table 5 object

Log transfer details.

Table 5 log_transfer_detail

Parameter

Mandatory

Type

Description

obs_period

Yes

Integer

Length of the transfer interval for an OBS transfer task. This parameter is required to update an OBS transfer task. The log transfer interval is specified by the combination of the values of obs_period and obs_period_unit, and must be set to one of the following: 2 min, 5 min, 30 min, 1 hour, 3 hours, 6 hours, and 12 hours.

Enumerated values:

  • 1

  • 2

  • 3

  • 5

  • 6

  • 12

  • 30

obs_period_unit

Yes

String

Unit of the transfer interval for an OBS transfer task. This parameter is required to update an OBS transfer task. The log transfer interval is specified by the combination of the values of obs_period and obs_period_unit, and must be set to one of the following: 2 min, 5 min, 30 min, 1 hour, 3 hours, 6 hours, and 12 hours.

Enumerated values:

  • min

  • hour

obs_bucket_name

Yes

String

OBS bucket name. This parameter is required to update an OBS transfer task.

Minimum length: 3 characters

Maximum length: 63 characters

obs_encrypted_id

No

String

KMS key ID for an OBS transfer task. This parameter is required if encryption is enabled for the target OBS bucket.

Minimum length: 36 characters

Maximum length: 36 characters

obs_dir_pre_fix_name

No

String

Custom transfer path of an OBS transfer task. This parameter is optional.

The value must match the regular expression:

^(/)?([a-zA-Z0-9\._-]+)(/[a-zA-Z0-9\._-]+)*(/)?$

Minimum length: 1 character

Maximum length: 64 characters

obs_prefix_name

No

String

Transfer file prefix of an OBS transfer task. This parameter is optional.

The value must match the regular expression:

^[a-zA-Z0-9\._-]*$

Minimum length: 1 character

Maximum length: 64 characters

obs_transfer_path

No

string

OBS bucket path, which is the log transfer destination.

obs_eps_id

No

string

Enterprise project ID of an OBS transfer task.

obs_encrypted_enable

No

boolean

Whether OBS bucket encryption is enabled.

tags

No

Array< String >

If tag delivery is enabled, this field must contain the following host information: hostIP, hostId, hostName, pathFile, and collectTime.

(Optional) Common fields include logStreamName, regionName, logGroupName, and projectId.

(Optional) Enable the transfer tag: streamTag.

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

log_group_id

String

Log group ID.

Minimum length: 36 characters

Maximum length: 36 characters

log_group_name

String

Log group name.

Minimum length: 1 character

Maximum length: 64 characters

log_streams

Array of Table 7 objects

Log stream list.

log_transfer_id

String

Log transfer task ID.

Minimum length: 36 characters

Maximum length: 36 characters

log_transfer_info

Table 8 object

Log transfer information.

Table 7 log_streams

Parameter

Type

Description

log_stream_id

String

Log stream ID.

Minimum length: 36 characters

Maximum length: 36 characters

log_stream_name

String

Log stream name.

Minimum length: 1 character

Maximum length: 64 characters

Table 8 log_transfer_info

Parameter

Type

Description

log_agency_transfer

Table 9 object

Information about delegated log transfer. This parameter is returned for a delegated log transfer task.

log_create_time

Integer

Time when the log transfer task was created.

Minimum value: 0

Maximum value: 9999999999999

log_storage_format

String

Log transfer format. The value can be RAW or JSON. RAW indicates raw log format, whereas JSON indicates JSON format. OBS transfer tasks support JSON.

Enumerated values:

  • JSON

  • RAW

log_transfer_detail

Object

Log transfer details.

log_transfer_mode

String

Log transfer mode. cycle indicates periodical transfer, whereas realTime indicates real-time transfer. cycle is available to OBS transfer tasks and realTime is available to DIS and DMS transfer tasks.

Enumerated values:

  • cycle

  • realTime

log_transfer_status

String

Log transfer status. ENABLE indicates that log transfer is enabled, DISABLE indicates that log transfer is disabled, and EXCEPTION indicates that log transfer is abnormal.

Enumerated values:

  • ENABLE

  • DISABLE

  • EXCEPTION

log_transfer_type

String

Log transfer type. You can transfer logs to OBS.

Enumerated values:

  • OBS

Table 9 log_agency_transfer

Parameter

Type

Description

agency_domain_id

String

Delegator account ID.

Minimum length: 1 character

Maximum length: 128 characters

agency_domain_name

String

Delegator account name.

Minimum length: 1 character

Maximum length: 128 characters

agency_name

String

Name of the agency created by the delegator.

Minimum length: 1 character

Maximum length: 128 characters

agency_project_id

String

Project ID of the delegator.

Minimum length: 32 characters

Maximum length: 32 characters

be_agency_domain_id

String

Account ID of the delegated party (ID of the account that created the log transfer task).

Minimum length: 1 character

Maximum length: 128 characters

be_agency_project_id

String

Project ID of the delegated party (project ID of the account that created the log transfer task).

Minimum length: 32 characters

Maximum length: 32 characters

Status code: 400

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum length: 8 characters

Maximum length: 8 characters

error_msg

String

Error message.

Enumerated value:

  • Invalid projectId

Status code: 500

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum length: 8 characters

Maximum length: 8 characters

error_msg

String

Error message.

Example Request

  • Updating an OBS transfer task

    PUT https://{endpoint}/v2/{project_id}/transfers

    PUT https://{endpoint}/v2/{project_id}/transfers
    
     /v2/{project_id}/transfers
     {
        "log_transfer_id" : "9f74e101-b969-483c-a610-d3f3064xxxxx",
        "log_transfer_info" : {
            "log_storage_format" : "JSON",
            "log_transfer_status" : "DISABLE",
            "log_transfer_detail" : {
                "obs_period" : 3,
                "obs_period_unit" : "hour",
                "obs_bucket_name" : "0xxx",
                "obs_encrypted_id" : "1bd90032-1424-481f-8558-ba49854xxxxx",
                "obs_dir_pre_fix_name" : "xx",
                "obs_prefix_name" : "xxxxx"
            }
        }
    }
    

Example Response

Status code: 200

The transfer task is updated.

The following parameters are returned for an OBS transfer task:

{
    "log_group_id" : "9a7e2183-2d6d-4732-9a9b-e897fd4e49e0",
    "log_group_name" : "lts-group-kafka",
    "log_streams" : [{
            "log_stream_id" : "839dac89-35af-4db2-ab4a-a7dda0d0d3f8",
            "log_stream_name" : "lts-topic-kafka"
        }
    ],
    "log_transfer_id" : "ddced522-233a-4181-a5fc-7b458c819afc",
    "log_transfer_info" : {
        "log_create_time" : 1634802241847,
        "log_storage_format" : "JSON",
        "log_agency_transfer" : {
            "agency_domain_id" : "1d26cc8c86a840e28a4f8d0d078xxxxx",
            "agency_domain_name" : "paas_apm_z004xxxxx_xx",
            "agency_name" : "test20210325",
            "agency_project_id" : "2a473356cca5487f8373be891bfxxxxx",
            "be_agency_domain_id" : "1d26cc8c86a840e28a4f8d0d078xxxxx",
            "be_agency_project_id" : "2a473356cca5487f8373be891bfxxxxx"
        },
        "log_transfer_detail" : {
            "obs_period":2,
            "obs_prefix_name":"",
            "obs_period_unit":"min",
            "obs_transfer_path":"/0002/LogTanks/cn-north-7/",
            "obs_bucket_name":"0002",
            "obs_encrypted_enable":false,
            "obs_dir_pre_fix_name":"",
            "obs_time_zone": "UTC+01:00",
            "obs_time_zone_id": "Africa/Lagos",
            "tags": []
        },
        "log_transfer_mode":"cycle",
        "log_transfer_status":"ENABLE",
        "log_transfer_type":"OBS"
    }
}

Status code: 400

Invalid request. Modify the request based on the description in error_msg before a retry.

{
  "error_code" : "LTS.0207",
  "error_msg" : "The log stream is associated by transfer"
}

Status code: 500

The server has received the request but encountered an internal error.

{
  "error_code" : "LTS.0010",
  "error_msg" : "The system encountered an internal error"
}

Status Codes

Status Code

Description

200

The transfer task is updated.

400

Invalid request. Modify the request based on the description in error_msg before a retry.

500

The server has received the request but encountered an internal error.

Error Codes

For details, see Error Codes.