更新时间:2026-10-08 GMT+08:00
分享

绑定后端存储 - CreateBackendTarget

功能介绍

为SFS Turbo文件系统绑定后端存储。

接口约束

  • 该接口仅适用于SFS Turbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB、100MB/s/TiB-智算型、200MB/s/TiB-智算型文件系统。

  • 请求体参数file_system_path必须是文件系统根目录下不存在的目录名。

  • 绑定OBS桶作为后端存储时,仅支持OBS存储桶,不支持OBS并行文件系统。

  • 创建OBS后端存储库,依赖的服务是对象存储服务OBS。用户需要额外配置OBS Administrator权限。

  • 该接口仅适用于NFS文件系统共享协议。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。

URI

POST /v1/{project_id}/sfs-turbo/shares/{share_id}/targets

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目ID,用于标识资源所属的IAM项目空间,实现项目级资源隔离与权限管控。

获取方法请参见获取项目ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

share_id

是

String

参数解释:

文件系统ID,用于唯一标识SFS Turbo文件系统实例。

获取方法请参见查询文件系统列表接口。

约束限制:

文件系统状态必须为可用状态,不能处于创建中、扩容中、删除中等任务执行中的中间状态,否则接口将拒绝该请求。调用前可通过查询文件系统详情接口确认文件系统状态。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

用户Token,用于鉴权认证。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

Content-Type

是

String

参数解释:

请求消息体MIME类型,用于标识请求正文的数据格式。

约束限制:

不涉及。

取值范围:

application/json

默认取值:

application/json

表3 请求Body参数

参数

是否必选

参数类型

描述

file_system_path

是

String

参数解释:

联动目录名称,SFS Turbo会在文件系统根目录下以该名称创建一个子目录,该目录用于绑定后端存储。

约束限制:

  • 必须是文件系统根目录下不存在的目录名。
  • 仅支持字母、数字、下划线“_”、中文字符、连字符“-”、英文句号“.”、斜杠“/”。

  • 子目录名称不能是“.”或“..”。

  • 不能包含两个及以上相邻的斜杠“/”。

  • 不能包含相对路径“/./”、“/../”。

  • 2025年5月之前创建且未升级到v24.9.5及以上版本的文件系统:仅支持单级目录,不能包含字符“/”,长度为1~63个字符。
  • 仅智算型文件系统支持多级目录:以斜杠“/”分隔,全路径长度为1~1024个字符,每级目录长度为1~255个字符。

取值范围:

不涉及。

默认取值:

不涉及。

obs

是

ObsDataRepository object

参数解释:

OBS类型后端存储配置对象,包含OBS桶名称、区域域名等信息。

约束限制:

  • 仅支持OBS存储桶,不支持OBS并行文件系统。

  • 创建OBS后端存储依赖对象存储服务OBS,用户需要额外配置OBS Administrator权限。

取值范围:

不涉及。

默认取值:

不涉及。

表4 ObsDataRepository

参数

是否必选

参数类型

描述

bucket

是

String

参数解释:

OBS桶名称,用于指定要绑定的OBS存储桶。

约束限制:

仅支持OBS存储桶,不支持OBS并行文件系统。

取值范围:

长度为3~63个字符,只能包含小写字母、数字、连字符-和英文句号.,必须以字母或数字开头和结尾。

默认取值:

不涉及。

endpoint

是

String

参数解释:

OBS桶的访问域名,用于指定OBS桶所在区域的终端节点。

约束限制:

  • 不能为空或包含前后空格。

  • 格式需满足OBS区域域名规范,例如obs.cn-north-4.myhuaweicloud.com。

  • 当OBS桶与SFS Turbo文件系统不在同一区域时,是否支持跨区域绑定取决于文件系统类型和版本等条件。

取值范围:

不涉及。

默认取值:

不涉及。

policy

否

ObsDataRepositoryPolicy object

参数解释:

后端存储自动同步策略,用于配置文件系统与OBS桶之间的数据自动同步规则。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

attributes

否

ObsTargetAttributes object

参数解释:

后端存储属性,用于配置从OBS桶导入到文件系统的文件和目录的权限及属主信息。

约束限制:

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

取值范围:

不涉及。

默认取值:

不涉及。

表5 ObsDataRepositoryPolicy

参数

是否必选

参数类型

描述

auto_export_policy

否

AutoExportPolicy object

参数解释:

后端存储自动导出策略。当文件系统中的数据发生更新时,将自动同步到OBS桶。SFS Turbo以异步方式执行同步。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表6 AutoExportPolicy

参数

是否必选

参数类型

描述

events

否

Array of strings

参数解释:

后端存储自动同步到OBS桶的数据更新类型。

约束限制:

不涉及。

取值范围:

  • NEW:表示新增数据,SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。

  • CHANGED:表示修改数据,从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。

  • DELETED:表示删除数据,在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。

默认取值:

不涉及。

prefix

否

String

参数解释:

后端存储内对象匹配前缀,用于过滤需要同步的OBS对象。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

suffix

否

String

参数解释:

后端存储内对象匹配后缀,用于过滤需要同步的OBS对象。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表7 ObsTargetAttributes

参数

是否必选

参数类型

描述

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

表8 响应Header参数

参数

参数类型

描述

X-request-id

String

参数解释:

请求ID,用于唯一标识和追踪本次请求。

取值范围:

不涉及。

表9 响应Body参数

参数

参数类型

描述

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

参数解释:

绑定状态,表示后端存储绑定的当前状态。

取值范围:

  • CREATING:创建中,您需要通过获取后端存储详细信息接口去轮询绑定完成状态。

  • AVAILABLE:可用,代表绑定后端存储成功。

  • MISCONFIGURED:配置错误,代表绑定后端存储失败。

obs

ObsDataRepository object

参数解释:

OBS类型后端存储配置信息,包含OBS桶名称、区域域名等。

取值范围:

不涉及。

表10 FailureDetailsMessage

参数

参数类型

描述

message

String

参数解释:

错误信息,记录后端存储在生命周期中遇到的具体错误详情。

取值范围:

不涉及。

表11 ObsDataRepository

参数

参数类型

描述

bucket

String

参数解释:

OBS桶名称,用于指定要绑定的OBS存储桶。

取值范围:

长度为3~63个字符,只能包含小写字母、数字、连字符-和英文句号.,必须以字母或数字开头和结尾。

endpoint

String

参数解释:

OBS桶的访问域名,用于指定OBS桶所在区域的终端节点。

取值范围:

不涉及。

policy

ObsDataRepositoryPolicy object

参数解释:

后端存储自动同步策略,用于配置文件系统与OBS桶之间的数据自动同步规则。

取值范围:

不涉及。

attributes

ObsTargetAttributes object

参数解释:

后端存储属性,用于配置从OBS桶导入到文件系统的文件和目录的权限及属主信息。

取值范围:

不涉及。

表12 ObsDataRepositoryPolicy

参数

参数类型

描述

auto_export_policy

AutoExportPolicy object

参数解释:

后端存储自动导出策略。当文件系统中的数据发生更新时,将自动同步到OBS桶。SFS Turbo以异步方式执行同步。

取值范围:

不涉及。

表13 AutoExportPolicy

参数

参数类型

描述

events

Array of strings

参数解释:

后端存储自动同步到OBS桶的数据更新类型。

取值范围:

  • NEW:表示新增数据,SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。

  • CHANGED:表示修改数据,从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。

  • DELETED:表示删除数据,在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。

prefix

String

参数解释:

后端存储内对象匹配前缀,用于过滤需要同步的OBS对象。

取值范围:

不涉及。

suffix

String

参数解释:

后端存储内对象匹配后缀,用于过滤需要同步的OBS对象。

取值范围:

不涉及。

表14 ObsTargetAttributes

参数

参数类型

描述

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

表15 响应Body参数

参数

参数类型

描述

errCode

String

参数解释:

错误码,用于标识请求失败的原因。详细错误码请参见错误码。

取值范围:

不涉及。

errMsg

String

参数解释:

错误描述,用于描述请求失败的具体原因,便于排查问题。请参见错误码。

取值范围:

不涉及。

状态码:500

表16 响应Body参数

参数

参数类型

描述

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

错误响应

错误码

请参见错误码。

相关文档