Help Center/ Scalable File Service Turbo/ API Reference/ API/ File System Management/ Obtaining Asynchronous Tasks of a File System
Updated on 2024-11-13 GMT+08:00

Obtaining Asynchronous Tasks of a File System

Function

This API is used to obtain the asynchronous tasks of a file system. Only tasks for querying directory usage can be obtained. Such tasks are also referred to as DU tasks. The value of feature in the API request path is dir-usage.

Constraints

This API is only supported for file systems created after August 1, 2023. The obtained data may not be the latest as there is a 5-minute delay between the frontend and backend. The value of feature in the API request path can only be the following:

  • dir-usage

This API is only supported for the following types of file systems:

  • 20 MB/s/TiB
  • 40 MB/s/TiB
  • 125 MB/s/TiB
  • 250 MB/s/TiB
  • 500 MB/s/TiB
  • 1,000 MB/s/TiB

For SFS Turbo Standard, Standard-Enhanced, Performance, Performance-Enhanced file systems, use the API for querying the file system directory usage.

URI

GET /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/{feature}/tasks

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

share_id

Yes

String

File system ID

feature

Yes

String

Task type. For example, the value for DU tasks is dir-usage.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

marker

No

String

Marker. The value is the task ID.

limit

No

Integer

Limit. The value must be a positive integer. The default value is 20 and the maximum value is 100.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Account token

Content-Type

Yes

String

MIME type, which can be application or json

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

tasks

Array of OneFsTaskResp objects

Task list

Table 5 OneFsTaskResp

Parameter

Type

Description

task_id

String

Task ID

status

String

Task status, which can be SUCCESS, DOING, or FAIL.

dir_usage

FsDuInfo object

Resource usages of a directory (subdirectories included)

begin_time

String

Task start time in UTC format, for example, 2006-01-02 15:04:05

end_time

String

Task end time in UTC format, for example, 2006-01-02 15:04:06

Table 6 FsDuInfo

Parameter

Type

Description

path

String

Valid full path of a directory in the file system

used_capacity

Long

Used capacity, in byte

file_count

FsFileCount object

Total number of files in this directory

message

String

Error message

Table 7 FsFileCount

Parameter

Type

Description

dir

Long

Number of directories

regular

Long

Number of common files

pipe

Long

Number of pipe files

char

Long

Number of character devices

block

Long

Number of block devices

socket

Long

Number of sockets

symlink

Long

Number of symbolic links

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

errCode

String

Error code

errMsg

String

Error description

Status code: 404

Table 9 Response body parameters

Parameter

Type

Description

errCode

String

Error code

errMsg

String

Error description

Status code: 500

Table 10 Response body parameters

Parameter

Type

Description

errCode

String

Error code

errMsg

String

Error description

Example Requests

Obtaining 50 tasks starting from the task whose ID is 11abef677ac40f46644d1d5cfc2424a4 for the file system whose ID is 77ba6f4b-6365-4895-8dda-bc7142af4dde

GET HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/77ba6f4b-6365-4895-8dda-bc7142af4dde/fs/dir-usage/tasks?marker=11abef677ac40f46644d1d5cfc2424a4&limit=50

Example Responses

Status code: 200

Successful

{
  "tasks" : [ {
    "task_id" : "2b31ed520xxxxxxebedb6e57xxxxxxxx",
    "status" : "SUCCESS",
    "dir_usage" : {
      "path" : "/path",
      "used_capacity" : 0,
      "file_count" : {
        "dir" : 0,
        "regular" : 0,
        "pipe" : 0,
        "char" : 0,
        "block" : 0,
        "socket" : 0,
        "symlink" : 0
      },
      "message" : ""
    },
    "begin_time" : "2023-03-01 11:46:01",
    "end_time" : "2023-03-01 11:46:01"
  } ]
}

Status code: 400

Error response

{
  "errCode" : "SFS.TURBO.0123",
  "errMsg" : "feature invalid"
}

Status code: 404

Error response

{
  "errCode" : "SFS.TURBO.0124",
  "errMsg" : "task_id not found"
}

Status code: 500

Error response

{
  "errCode" : "SFS.TURBO.0005",
  "errMsg" : "Internal server error"
}

Status Codes

Status Code

Description

200

Successful

400

Error response

404

Error response

500

Error response

Error Codes

See Error Codes.