绑定后端存储 - CreateBackendTarget
功能介绍
为SFS Turbo文件系统绑定后端存储。
接口约束
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v1/{project_id}/sfs-turbo/shares/{share_id}/targets
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID,用于标识资源所属的IAM项目空间,实现项目级资源隔离与权限管控。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| share_id | 是 | String | 参数解释: 文件系统ID,用于唯一标识SFS Turbo文件系统实例。 获取方法请参见查询文件系统列表接口。 约束限制: 文件系统状态必须为可用状态,不能处于创建中、扩容中、删除中等任务执行中的中间状态,否则接口将拒绝该请求。调用前可通过查询文件系统详情接口确认文件系统状态。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token,用于鉴权认证。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| Content-Type | 是 | String | 参数解释: 请求消息体MIME类型,用于标识请求正文的数据格式。 约束限制: 不涉及。 取值范围: application/json 默认取值: application/json |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| file_system_path | 是 | String | 参数解释: 联动目录名称,SFS Turbo会在文件系统根目录下以该名称创建一个子目录,该目录用于绑定后端存储。 约束限制:
取值范围: 不涉及。 默认取值: 不涉及。 |
| obs | 是 | ObsDataRepository object | 参数解释: OBS类型后端存储配置对象,包含OBS桶名称、区域域名等信息。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| bucket | 是 | String | 参数解释: OBS桶名称,用于指定要绑定的OBS存储桶。 约束限制: 仅支持OBS存储桶,不支持OBS并行文件系统。 取值范围: 长度为3~63个字符,只能包含小写字母、数字、连字符-和英文句号.,必须以字母或数字开头和结尾。 默认取值: 不涉及。 |
| endpoint | 是 | String | 参数解释: OBS桶的访问域名,用于指定OBS桶所在区域的终端节点。 约束限制: 取值范围: 不涉及。 默认取值: 不涉及。 |
| policy | 否 | ObsDataRepositoryPolicy object | 参数解释: 后端存储自动同步策略,用于配置文件系统与OBS桶之间的数据自动同步规则。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| attributes | 否 | ObsTargetAttributes object | 参数解释: 后端存储属性,用于配置从OBS桶导入到文件系统的文件和目录的权限及属主信息。 约束限制: 2024年6月30日及之前创建且未升级的文件系统版本不支持该参数,请提交工单处理。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| auto_export_policy | 否 | AutoExportPolicy object | 参数解释: 后端存储自动导出策略。当文件系统中的数据发生更新时,将自动同步到OBS桶。SFS Turbo以异步方式执行同步。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| file_mode | 否 | Integer | 参数解释: 导入的文件权限,使用八进制数字表示。第一位表示文件所有者的权限,取值范围是0到7;第二位表示文件所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。文件所有者由uid指定,文件所属用户组由gid指定,不是文件所有者且不在文件所属用户组的用户为其他用户。 数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该文件所有者对该文件具有读、写、执行权限;第二位5代表该文件所属用户组对该文件具有读、执行权限;第三位0代表其他用户对该文件无权限。 约束限制: 不涉及。 取值范围: 000到777的整数。 默认取值: 不涉及。 |
| dir_mode | 否 | Integer | 参数解释: 导入的目录权限,使用八进制数字表示。第一位表示目录所有者的权限,取值范围是0到7;第二位表示目录所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。目录所有者由uid指定,目录所属用户组由gid指定,不是目录所有者且不在目录所属用户组的用户为其他用户。 数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该目录所有者对该目录具有读、写、执行权限;第二位5代表该目录所属用户组对该目录具有读、执行权限;第三位0代表其他用户对该目录无权限。 约束限制: 不涉及。 取值范围: 000到777的整数。 默认取值: 不涉及。 |
| uid | 否 | Integer | 参数解释: 导入对象所有者的用户ID。 约束限制: 不涉及。 取值范围: 0到4294967294(即2^32-2)的整数。 默认取值: 0 |
| gid | 否 | Integer | 参数解释: 导入对象所属用户组的ID。 约束限制: 不涉及。 取值范围: 0到4294967294(即2^32-2)的整数。 默认取值: 0 |
响应参数
状态码:202
| 参数 | 参数类型 | 描述 |
|---|---|---|
| X-request-id | String | 参数解释: 请求ID,用于唯一标识和追踪本次请求。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| target_id | String | 参数解释: 绑定关系ID,用于唯一标识后端存储绑定关系。 取值范围: 不涉及。 |
| creation_time | String | 参数解释: 绑定关系的创建时间。 取值范围: UTC时间格式,例如:2023-11-19T04:02:03。 |
| failure_details | FailureDetailsMessage object | 参数解释: 绑定错误信息,即当绑定失败时返回的详细的错误信息。 取值范围: 不涉及。 |
| file_system_path | String | 参数解释: 联动目录名称,SFS Turbo在文件系统根目录下创建的子目录名称。 取值范围: 不涉及。 |
| lifecycle | String | 参数解释: 绑定状态,表示后端存储绑定的当前状态。 取值范围:
|
| obs | ObsDataRepository object | 参数解释: OBS类型后端存储配置信息,包含OBS桶名称、区域域名等。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| bucket | String | 参数解释: OBS桶名称,用于指定要绑定的OBS存储桶。 取值范围: 长度为3~63个字符,只能包含小写字母、数字、连字符-和英文句号.,必须以字母或数字开头和结尾。 |
| endpoint | String | 参数解释: OBS桶的访问域名,用于指定OBS桶所在区域的终端节点。 取值范围: 不涉及。 |
| policy | ObsDataRepositoryPolicy object | 参数解释: 后端存储自动同步策略,用于配置文件系统与OBS桶之间的数据自动同步规则。 取值范围: 不涉及。 |
| attributes | ObsTargetAttributes object | 参数解释: 后端存储属性,用于配置从OBS桶导入到文件系统的文件和目录的权限及属主信息。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| auto_export_policy | AutoExportPolicy object | 参数解释: 后端存储自动导出策略。当文件系统中的数据发生更新时,将自动同步到OBS桶。SFS Turbo以异步方式执行同步。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| events | Array of strings | 参数解释: 后端存储自动同步到OBS桶的数据更新类型。 取值范围: |
| prefix | String | 参数解释: 后端存储内对象匹配前缀,用于过滤需要同步的OBS对象。 取值范围: 不涉及。 |
| suffix | String | 参数解释: 后端存储内对象匹配后缀,用于过滤需要同步的OBS对象。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| file_mode | Integer | 参数解释: 导入的文件权限,使用八进制数字表示。第一位表示文件所有者的权限,取值范围是0到7;第二位表示文件所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。文件所有者由uid指定,文件所属用户组由gid指定,不是文件所有者且不在文件所属用户组的用户为其他用户。 数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该文件所有者对该文件具有读、写、执行权限;第二位5代表该文件所属用户组对该文件具有读、执行权限;第三位0代表其他用户对该文件无权限。 取值范围: 000到777的整数。 |
| dir_mode | Integer | 参数解释: 导入的目录权限,使用八进制数字表示。第一位表示目录所有者的权限,取值范围是0到7;第二位表示目录所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。目录所有者由uid指定,目录所属用户组由gid指定,不是目录所有者且不在目录所属用户组的用户为其他用户。 数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该目录所有者对该目录具有读、写、执行权限;第二位5代表该目录所属用户组对该目录具有读、执行权限;第三位0代表其他用户对该目录无权限。 取值范围: 000到777的整数。 |
| uid | Integer | 参数解释: 导入对象所有者的用户ID。 取值范围: 0到4294967294(即2^32-2)的整数。 |
| gid | Integer | 参数解释: 导入对象所属用户组的ID。 取值范围: 0到4294967294(即2^32-2)的整数。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| errCode | String | 参数解释: 错误码,用于标识请求失败的原因。详细错误码请参见错误码。 取值范围: 不涉及。 |
| errMsg | String | 参数解释: 错误描述,用于描述请求失败的具体原因,便于排查问题。请参见错误码。 取值范围: 不涉及。 |
状态码:500
请求示例
-
绑定后端存储,文件系统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 | 错误响应 |
错误码
请参见错误码。