绑定后端存储
功能介绍
为SFS Turbo 文件系统绑定后端存储
接口约束
-
该接口仅适用于SFS Turbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB文件系统。
-
请求体参数file_system_path必须是文件系统根目录下不存在的目录名。
-
绑定OBS桶作为后端存储时,仅支持OBS存储桶,不支持OBS并行文件系统。
-
创建OBS后端存储库,依赖的服务是对象存储服务 OBS。用户需要额外配置OBS Administrator权限。
-
该接口仅适用于NFS文件系统共享协议。
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会在文件系统根目录下以该名称创建一个子目录,该目录用于绑定后端存储。必须是文件系统根目录下不存在的目录名。限制如下:
|
| 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桶的数据更新类型。
枚举值:
|
| prefix | 否 | String | 后端存储内对象匹配前缀 |
| suffix | 否 | String | 后端存储内对象匹配后缀 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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桶的数据更新类型。
枚举值:
|
| prefix | String | 后端存储内对象匹配前缀 |
| suffix | String | 后端存储内对象匹配后缀 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 | 错误响应 |
错误码
请参见错误码。