Updated on 2024-04-12 GMT+08:00

Querying a Log Transfer Task

Function

This API is used to query an OBS transfer task.

URI

GET /v2/{project_id}/transfers

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

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

Default: None

Minimum: 32

Maximum: 32

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

log_transfer_type

No

String

Log transfer type. You can transfer logs to OBS.

Enumeration values:

  • OBS

log_group_name

No

String

Log group name.

Minimum: 1

Maximum: 64

log_stream_name

No

String

Log stream name.

Minimum: 1

Maximum: 64

offset

No

Integer

Query cursor. Set the value to 0 in the first query. In subsequent queries, obtain the value from the response to the last request.

Minimum: 0

Maximum: 1024

limit

No

Integer

Number of records on each page. The maximum value is 100.

Minimum: 0

Maximum: 100

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token obtained from IAM.

Default: None

Minimum: 1000

Maximum: 2000

Content-Type

Yes

String

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

Default: None

Minimum: 30

Maximum: 30

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

log_transfers

Array of CreateTransferResponseBody objects

Log transfer task information.

Array Length: 0 - 10000

Table 5 CreateTransferResponseBody

Parameter

Type

Description

log_group_id

String

Log group ID.

Minimum: 36

Maximum: 36

log_group_name

String

Log group name.

Minimum: 1

Maximum: 64

log_streams

Array of log_streams objects

Log stream list.

Array Length: 1 - 1000

log_transfer_id

String

Log transfer task ID.

Minimum: 36

Maximum: 36

log_transfer_info

log_transfer_info object

Log transfer information.

Table 6 log_streams

Parameter

Type

Description

log_stream_id

String

Log stream ID.

Minimum: 36

Maximum: 36

log_stream_name

String

Log stream name.

Minimum: 1

Maximum: 64

Table 7 log_transfer_info

Parameter

Type

Description

log_agency_transfer

log_agency_transfer object

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

log_create_time

Long

Time when the log transfer task was created.

Minimum: 0

Maximum: 9999999999999

log_storage_format

String

Log transfer format. The value can be RAW or JSON. RAW indicates the raw log format, and JSON indicates the JSON format. Both JSON and RAW are available for OBS transfer tasks.

Enumeration values:

  • JSON

  • RAW

log_transfer_detail

TransferDetail object

Log transfer details.

log_transfer_mode

String

Log transfer mode. cycle indicates periodic transfer. Only cycle is available for OBS transfer tasks.

Enumeration values:

  • cycle

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.

Enumeration values:

  • ENABLE

  • DISABLE

  • EXCEPTION

log_transfer_type

String

Log transfer type. You can transfer logs to OBS.

Enumeration values:

  • OBS

Table 8 log_agency_transfer

Parameter

Type

Description

agency_domain_id

String

Delegator account ID.

Minimum: 1

Maximum: 128

agency_domain_name

String

Delegator account name.

Minimum: 1

Maximum: 128

agency_name

String

Name of the agency created by the delegator.

Minimum: 1

Maximum: 128

agency_project_id

String

Project ID of the delegator.

Minimum: 32

Maximum: 32

be_agency_domain_id

String

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

Minimum: 1

Maximum: 128

be_agency_project_id

String

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

Minimum: 32

Maximum: 32

Table 9 TransferDetail

Parameter

Type

Description

obs_period

Integer

Length of the transfer interval for an OBS transfer task. This parameter is required when you create 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.

Enumeration values:

  • 1

  • 2

  • 3

  • 5

  • 6

  • 12

  • 30

obs_period_unit

String

Unit of the transfer interval for an OBS transfer task. This parameter is required when you create 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.

Enumeration values:

  • "min"

  • "hour"

obs_bucket_name

String

OBS log bucket name. This parameter is required when you create an OBS transfer task.

Minimum: 3

Maximum: 63

obs_encrypted_id

String

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

Minimum: 36

Maximum: 36

obs_dir_pre_fix_name

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: 1

Maximum: 64

obs_prefix_name

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: 1

Maximum: 64

obs_time_zone

String

Time zone for an OBS transfer task. If this parameter is specified, obs_time_zone_id must also be specified.

obs_time_zone_id

String

ID of the time zone for an OBS transfer task. For details, see Time Zone List for OBS Transfer. If this parameter is specified, obs_time_zone must also be specified.

obs_transfer_path

String

OBS bucket path, which is the log transfer destination.

Minimum: 0

Maximum: 256

obs_encrypted_enable

Boolean

Whether OBS bucket encryption is enabled.

Enumeration values:

  • true

  • false

tags

Array of strings

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

The common fields include logStreamName, regionName, logGroupName and projectId, which are optional.

The transfer tag streamTag is optional.

Status code: 400

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum: 8

Maximum: 8

error_msg

String

Error message.

Minimum: 1

Maximum: 1000

Status code: 500

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

Minimum: 8

Maximum: 8

error_msg

String

Error message.

Minimum: 1

Maximum: 1000

Example Requests

If no parameter is specified, all log transfer tasks are returned. If log_transfer_type, log_group_name, and log_stream_name are specified, the corresponding log transfer task is returned.

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

/v2/{project_id}/transfers /v2/{project_id}/transfers?log_group_name=lts-group-txxx /v2/{project_id}/transfers?log_transfer_type=OBS /v2/{project_id}/transfers?log_stream_name=lts-topic-testRexxx /v2/{project_id}/transfers?log_group_name=lts-group-txxx&log_transfer_type=OBS /v2/{project_id}/transfers?log_group_name=lts-group-txxx&log_stream_name=lts-topic-testRxxx /v2/{project_id}/transfers?log_transfer_type=OBS&log_stream_name=lts-topic-testRxxx /v2/{project_id}/transfers?log_group_name=lts-group-txxx&log_transfer_type=OBS&log_stream_name=lts-topic-testRexxx

Example Responses

Status code: 200

The query is successful.

The following parameters are returned for an OBS transfer task:
{
    "log_transfers" : [{
            "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/xxx/",
                "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"
                },
                "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.0205",
  "error_msg" : "The log stream name has been existed"
}

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 query is successful.

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

See Error Codes.