创建数据导入导出任务
功能介绍
创建数据导入导出任务
接口约束
该接口仅适用于SFS Turbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB文件系统。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID |
share_id |
是 |
String |
文件系统ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
账号的token |
Content-Type |
是 |
String |
MIME类型 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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日及之前创建,且未升级的文件系统版本不支持该参数,请提工单处理。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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
参数 |
参数类型 |
描述 |
---|---|---|
X-request-id |
String |
请求ID |
参数 |
参数类型 |
描述 |
---|---|---|
task_id |
String |
任务ID |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
X-request-id |
String |
请求ID |
参数 |
参数类型 |
描述 |
---|---|---|
errCode |
String |
错误码 |
errMsg |
String |
错误描述 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
X-request-id |
String |
请求ID |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
内部错误 |
错误码
请参见错误码。