更新时间:2024-11-18 GMT+08:00

创建数据导入导出任务

功能介绍

创建数据导入导出任务

接口约束

该接口仅适用于SFS Turbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB文件系统。

URI

POST /v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

share_id

String

文件系统ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

账号的token

Content-Type

String

MIME类型

表3 请求Body参数

参数

是否必选

参数类型

描述

type

String

任务类型,当前支持import(附加元数据导入),import_metadata(快速导入),preload(数据预热),export(导出)。

附加元数据导入方式会导入OBS对象的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo 导出时的附加元数据(如uid、gid、mode)。

快速导入方式仅会导入OBS对象的元数据(名称、大小、最后修改时间),不会导入其它附加元数据(如uid、gid、mode),SFS Turbo会生成默认的附加元数据。

数据预热功能会同时导入元数据和数据内容,数据预热中的元数据导入采用快速导入方式,不会导入其它附加元数据(如uid、gid、mode)。

数据导出功能会将您在联动目录里创建的文件,以及对从OBS导入后又做过修改的文件导出存储到OBS桶里。

src_target

String

联动目录名称

src_prefix

String

导入导出任务的源端路径前缀,导入时不需要包含OBS桶名,导出时不需要包含联动目录名称。

对于数据预热导入,携带源端路径前缀时必须是以“/”结尾的目录或具体到某个对象。

如果不带该字段,导入时会导入绑定OBS桶内的所有对象,导出时会导出联动目录下的所有文件。

dest_target

String

目前只支持和src_target保持一致

dest_prefix

String

目前只支持和src_prefix保持一致

attributes

ObsTargetAttributes object

后端存储属性。2024年6月30日及之前创建,且未升级的文件系统版本不支持该参数,请提工单处理。

表4 ObsTargetAttributes

参数

是否必选

参数类型

描述

file_mode

Integer

导入的文件权限。取值范围是0到777。

第一位表示文件所有者的权限,取值范围是0到7;第二位表示文件所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。文件所有者由uid指定,文件所属用户组由gid指定,不是文件所有者且不在文件所属用户组的用户为其他用户。

数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该文件所有者对该文件具有读、写、执行权限;第二位5代表该文件所属用户组对该文件具有读、执行权限;第三位0代表其他用户对该文件无权限。

dir_mode

Integer

导入的目录权限。取值范围是0到777。

第一位表示目录所有者的权限,取值范围是0到7;第二位表示目录所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。目录所有者由uid指定,目录所属用户组由gid指定,不是目录所有者且不在目录所属用户组的用户为其他用户。

数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该目录所有者对该目录具有读、写、执行权限;第二位5代表该目录所属用户组对该目录具有读、执行权限;第三位0代表其他用户对该文件无权限。

uid

Integer

导入对象所有者的用户id,默认值是0,取值范围是0到4,294,967,294(即2^32-2)。

gid

Integer

导入对象所属用户组id,默认值是0,取值范围是0到4,294,967,294(即2^32-2)。

响应参数

状态码: 202

表5 响应Header参数

参数

参数类型

描述

X-request-id

String

请求ID

表6 响应Body参数

参数

参数类型

描述

task_id

String

任务ID

状态码: 400

表7 响应Header参数

参数

参数类型

描述

X-request-id

String

请求ID

表8 响应Body参数

参数

参数类型

描述

errCode

String

错误码

errMsg

String

错误描述

状态码: 500

表9 响应Header参数

参数

参数类型

描述

X-request-id

String

请求ID

表10 响应Body参数

参数

参数类型

描述

errCode

String

错误码

errMsg

String

错误描述

请求示例

  • 创建快速导入任务,任务类型是"import_metadata",联动目录名称是"sfs-link-directory",关联OBS桶内的源端路径前缀是"input/datasets/"。

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task
    
    {
      "type" : "import_metadata",
      "src_target" : "sfs-link-directory",
      "src_prefix" : "input/datasets/",
      "dest_target" : "sfs-link-directory",
      "dest_prefix" : "input/datasets/"
    }
  • 创建快速导入任务,任务类型是"import_metadata",联动目录名称是"sfs-link-directory",关联OBS桶内的源端路径前缀是"input/datasets/";指定导入的文件在文件系统内的权限为755,目录权限为755。

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task
    
    {
      "type" : "import_metadata",
      "src_target" : "sfs-link-directory",
      "src_prefix" : "input/datasets/",
      "dest_target" : "sfs-link-directory",
      "dest_prefix" : "input/datasets/",
      "attributes" : {
        "file_mode" : 755,
        "dir_mode" : 755
      }
    }
  • 创建数据预热任务,任务类型是"preload",联动目录名称是"sfs-link-directory",关联OBS桶内的源端路径前缀是"input/datasets/";指定导入的文件在文件系统内的权限为755,目录权限为755,uid为0,gid为0。

    POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task
    
    {
      "type" : "preload",
      "src_target" : "sfs-link-directory",
      "src_prefix" : "input/datasets/",
      "dest_target" : "sfs-link-directory",
      "dest_prefix" : "input/datasets/",
      "attributes" : {
        "file_mode" : 755,
        "dir_mode" : 755,
        "uid" : 0,
        "gid" : 0
      }
    }

响应示例

状态码: 202

Accepted

{
  "task_id" : "7bd2a9b6-xxxx-4605-xxxx-512d636001b0"
}

状态码: 400

客户端错误

{
  "errCode" : "SFS.TURBO.0001",
  "errMsg" : "parameter error"
}

状态码: 500

内部错误

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

状态码

状态码

描述

202

Accepted

400

客户端错误

500

内部错误

错误码

请参见错误码