绑定后端存储
功能介绍
为SFS Turbo 文件系统绑定后端存储
接口约束
该接口仅适用于SFS Turbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB文件系统。请求体参数file_system_path必须是文件系统根目录下不存在的目录名。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/{project_id}/sfs-turbo/shares/{share_id}/targets
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目id |
share_id |
是 |
String |
文件系统id |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
账号的token |
Content-Type |
是 |
String |
MIME类型 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
file_system_path |
是 |
String |
联动目录名称,SFS Turbo会在文件系统根目录下以该名称创建一个子目录,该目录用于绑定后端存储。 必须是文件系统根目录下不存在的目录名,长度不能超过63个字符,子目录名称不能是“.”或“..”。 不支持多层目录,不能包含字符'/'。 |
obs |
是 |
ObsDataRepository object |
OBS类型后端存储 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
bucket |
是 |
String |
OBS桶名称 |
endpoint |
是 |
String |
OBS桶所在的区域域名 |
policy |
否 |
ObsDataRepositoryPolicy object |
后端存储自动同步策略 |
attributes |
否 |
ObsTargetAttributes object |
后端存储属性。2024年6月30日及之前创建,且未升级的文件系统版本不支持该参数,请提工单处理。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
auto_export_policy |
否 |
AutoExportPolicy object |
后端存储自动导出策略。当文件系统发生数据更新时,将自动导出到OBS桶。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
events |
否 |
Array of strings |
后端存储自动导出到OBS桶的数据更新类型。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
参数 |
参数类型 |
描述 |
---|---|---|
target_id |
String |
绑定关系id |
creation_time |
String |
绑定关系创建时间 |
failure_details |
FailureDetailsMessage object |
绑定错误信息 |
file_system_path |
String |
联动目录名称 |
lifecycle |
String |
绑定状态。 如果返回状态为CREATING,您需要通过获取后端存储详细信息接口去轮询绑定完成状态。 如果返回状态为AVAILABLE,代表绑定后端存储成功。 如果返回状态MISCONFIGURED,代表绑定后端存储失败。DELETING 状态暂不支持。 |
obs |
ObsDataRepository object |
OBS类型后端存储 |
参数 |
参数类型 |
描述 |
---|---|---|
bucket |
String |
OBS桶名称 |
endpoint |
String |
OBS桶所在的区域域名 |
policy |
ObsDataRepositoryPolicy object |
后端存储自动同步策略 |
attributes |
ObsTargetAttributes object |
后端存储属性。2024年6月30日及之前创建,且未升级的文件系统版本不支持该参数,请提工单处理。 |
参数 |
参数类型 |
描述 |
---|---|---|
auto_export_policy |
AutoExportPolicy object |
后端存储自动导出策略。当文件系统发生数据更新时,将自动导出到OBS桶。 |
参数 |
参数类型 |
描述 |
---|---|---|
events |
Array of strings |
后端存储自动导出到OBS桶的数据更新类型。
|
参数 |
参数类型 |
描述 |
---|---|---|
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)。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
errCode |
String |
错误码 |
errMsg |
String |
错误描述 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
errCode |
String |
错误码 |
errMsg |
String |
错误描述 |
请求示例
-
绑定后端存储,文件系统ID为"630509b1-ded4-476e-8d06-dbbc3dc23900",待绑定的OBS桶名为myBucket,待绑定的OBS桶endpoint为obs.region.example.com,联动目录名称为sfsturboDirName。
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com" } }
-
绑定后端存储,文件系统ID为"630509b1-ded4-476e-8d06-dbbc3dc23900",待绑定的OBS桶名为myBucket,待绑定的OBS桶endpointobs.region.example.com,联动目录名称为sfsturboDirName,指定导入的文件在文件系统的权限为750,指定导入的目录在文件系统的权限为640。
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com", "attributes" : { "file_mode" : 750, "dir_mode" : 640 } } }
-
绑定后端存储,文件系统ID为"630509b1-ded4-476e-8d06-dbbc3dc23900",待绑定的OBS桶名为myBucket,待绑定的OBS桶endpoint为obs.region.example.com,联动目录名称为sfsturboDirName,指定导入的文件在文件系统的权限为750,指定导入的目录在文件系统的权限为640,指定导入的文件及目录在文件系统的uid为0、gid为0。
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com", "attributes" : { "file_mode" : 750, "dir_mode" : 640, "uid" : 0, "gid" : 0 } } }
-
绑定后端存储,文件系统ID为"630509b1-ded4-476e-8d06-dbbc3dc23900",待绑定的OBS桶名为myBucket,待绑定的OBS桶endpoint为obs.region.example.com,联动目录名称为sfsturboDirName,指定自动导出策略为"NEW"、"CHANGED"、"DELETED"。
POST HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets { "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com", "policy" : { "auto_export_policy" : { "events" : [ "NEW", "CHANGED", "DELETED" ] } } } }
响应示例
状态码: 202
任务下发成功
{ "target_id" : "00000334-xxxx-402d-a5d4-bxxxxx87b939", "creation_time" : "2023-11-19T04:02:03", "file_system_path" : "sfsturboDirName", "lifecycle" : "CREATING", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.region.example.com" } }
状态码: 400
错误响应
{ "errCode" : "SFS.TURBO.0001", "errMsg" : "request path/body parameters invalid" }
状态码: 500
错误响应
{ "errCode" : "SFS.TURBO.0005", "errMsg" : "internal server error" }
状态码
状态码 |
描述 |
---|---|
202 |
任务下发成功 |
400 |
错误响应 |
500 |
错误响应 |
错误码
请参见错误码。