华为云用户手册

  • Console引用 权限 对应API接口 授权项 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 更改安全组 Console引用 sfsturbo:shares:shareAction 更改安全组需要安全组相关权限: vpc:securityGroups:* vpc:securityGroupRules:* √ √ 查询sfs turbo配额 Console引用 sfsturbo:shares:getQuota - √ √ 获取可用区信息 Console引用 sfsturbo:shares:getAZInfo - √ √ 获取sfs turbo规格信息 Console引用 sfsturbo:shares:getFlavors - √ √ 检查文件系统名称 Console引用 sfsturbo:shares:checkShareName - √ √
  • 文件系统 权限 对应API接口 授权项 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 创建文件系统 POST /v1/{project_id}/sfs-turbo/shares sfsturbo:shares:createShare 创建SFS Turbo实例时,需要vpc相关权限,包括校验vpc、子网、安全组,创建vip以及port,创建安全组规则等,需要增加授权项: "vpc:*:*" 加密实例需要在项目上配置KMS Administrator权限 专属场景,需要增加授权项: "dss:*:get", "dss:*:list", "dss:*:count" √ √ 查询所有文件系统详细信息 GET /v1/{project_id}/sfs-turbo/shares/detail sfsturbo:shares:getAllShares - √ √ 查询单个文件系统详细信息 GET /v1/{project_id}/sfs-turbo/shares/{share_id} sfsturbo:shares:getShare - √ √ 删除文件系统 DELETE /v1/{project_id}/sfs-turbo/shares/{share_id} sfsturbo:shares:deleteShare 删除SFS Turbo实例时,需要vpc相关权限,包括删除vip以及port,删除安全组规则等,需要增加授权项: "vpc:*:*" 如果是专属场景,需要增加授权项: "dss:*:get", "dss:*:list", "dss:*:count" √ √ 创建文件系统异步任务 POST /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/{feature}/tasks sfsturbo:shares:createFsAsyncTask - √ √ 获取文件系统异步任务列表 GET /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/{feature}/tasks sfsturbo:shares:listFsAsyncTasks - √ √ 获取文件系统异步任务详情 GET /v1/{project_id}/sfs- turbo/shares/{share_id}/fs/{feature}/tasks/{task_id} sfsturbo:shares:showFsAsyncTask - √ √ 取消/删除文件系统异步任务 DELETE /v1/{project_id}/sfs-turbo/shares/{share_id}/fs/{feature}/tasks/{task_id} sfsturbo:shares:deleteFsAsyncTask - √ √ 绑定后端存储 POST /v1/{project_id}/sfs-turbo/shares/{share_id}/targets sfsturbo:shares:createBackendTarget 用户需要额外配置OBS Adminstrator权限。 √ √ 查询后端存储列表 GET /v1/{project_id}/sfs-turbo/shares/{share_id}/targets sfsturbo:shares:listBackendTargets - √ √ 获取后端存储详细信息 GET /v1/{project_id}/sfs-turbo/shares/{share_id}/targets/{target_id} sfsturbo:shares:showBackendTargetInfo - √ √ 删除后端存储 DELETE /v1/{project_id}/sfs-turbo/shares/{share_id}/targets/{target_id} sfsturbo:shares:deleteBackendTarget - √ √ 创建数据导入导出任务 POST /v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task sfsturbo:shares:createDataRepositoryTask - √ √ 查询数据导入导出任务详情 GET /v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/task/{task_id} sfsturbo:shares:getDataRepositoryTask - √ √ 查询数据导入导出任务列表 GET /v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/tasks sfsturbo:shares:getAllDataRepositoryTasks - √ √
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表4 响应Body参数 参数 参数类型 描述 task_id String 任务ID type String 任务类型 status String 任务状态 枚举值: SUCCESS DOING FAIL src_target String 联动目录名称 src_prefix String 导入导出任务的源端路径前缀 dest_target String 和src_target保持一致 dest_prefix String 和src_prefix保持一致 start_time String 任务开始时间 end_time String 任务结束时间 message String 任务执行结果信息 状态码: 400 表5 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表7 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表8 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 响应示例 状态码: 200 成功 { "task_id" : "7bd2a9b6-xxxx-4605-xxxx-512d636001b0", "type" : "import", "status" : "DOING", "src_target" : "sfs-link-directory", "src_prefix" : "input/datasets/", "dest_target" : "sfs-link-directory", "dest_prefix" : "input/datasets/", "message" : "", "start_time" : "2023-09-02T15:04:05", "end_time" : "" } 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0001", "errMsg" : "parameter error" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4dde", 任务ID为"11abef677ac40f46644d1d5cfc2424a4",查询该任务的详情 "GET HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/77ba6f4b-6365-4895-8dda-bc7142af4dde/hpc-cache/task/11abef677ac40f46644d1d5cfc2424a4"
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4dde",后端target_id为"11abef677ac40f46644d1d5cfc2424a4",获取后端详细 GET HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/77ba6f4b-6365-4895-8dda-bc7142af4dde/targets/11abef677ac40f46644d1d5cfc2424a4
  • 响应示例 状态码: 200 任务下发成功 { "target_id" : "00000334-xxxx-402d-a5d4-bxxxxx87b939", "creation_time" : "2023-10-10T12:02:03", "file_system_path" : "sfsturboDirName", "lifecycle" : "CREATING", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.cn-north-7.ulanqab.huawei.com" } } 状态码: 404 错误响应 { "errCode" : "SFS.TURBO.0126", "errMsg" : "target not found, not bound yet" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "internal server error" }
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表4 响应Body参数 参数 参数类型 描述 target_id String 绑定关系id creation_time String 绑定关系创建时间 file_system_path String 联动目录名称 failure_details FailureDetailsMessage object 绑定错误信息 lifecycle String 绑定状态 枚举值: CREATING AVAILABLE MISCONFIGURED DELETING FAILED obs ObsDataRepository object OBS类型后端存储 表5 FailureDetailsMessage 参数 参数类型 描述 message String 错误信息 表6 ObsDataRepository 参数 参数类型 描述 bucket String OBS桶名称 endpoint String OBS桶所在的区域域名 状态码: 404 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 响应示例 状态码: 200 成功 { "tasks" : [ { "task_id" : "7bd2a9b6-xxxx-4605-xxxx-512d636001b0", "type" : "import", "status" : "DOING", "src_target" : "sfs-link-directory", "src_prefix" : "input/datasets/", "dest_target" : "sfs-link-directory", "dest_prefix" : "input/datasets/", "message" : "", "start_time" : "2023-09-02T15:04:05", "end_time" : "" } ], "count" : 1 } 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0001", "errMsg" : "parameter error" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • URI GET /v1/{project_id}/sfs-turbo/{share_id}/hpc-cache/tasks 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID share_id 是 String 文件系统ID 表2 Query参数 参数 是否必选 参数类型 描述 type 否 String 任务类型 status 否 String 任务状态 offset 否 Long offset,默认值为 0 limit 否 Long limit,默认值为 20 start_time 否 String start_time end_time 否 String end_time
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 tasks Array of OneHpcCacheTaskInfoResp objects 任务详情 count Long 任务数量 表6 OneHpcCacheTaskInfoResp 参数 参数类型 描述 task_id String 任务ID type String 任务类型 status String 任务状态 枚举值: SUCCESS DOING FAIL src_target String 联动目录名称 src_prefix String 导入导出任务的源端路径前缀 dest_target String 和src_target保持一致 dest_prefix String 和src_prefix保持一致 start_time String 任务开始时间 end_time String 任务结束时间 message String 任务执行结果信息 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表8 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表9 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表10 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 请求示例 批量添加共享标签,第一个标签的键为“key1”,值为“value1”;第二个标签的键为“key2”,值为“value1”。 { "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 change_security_group 是 ChangeSecurityGroup object change_security_group对象 表4 ChangeSecurityGroup 参数 是否必选 参数类型 描述 security_group_id 是 String 需要修改的目标安全组ID。
  • 响应参数 状态码: 202 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 task_id String 任务ID 状态码: 400 表6 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表8 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表9 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 请求示例 创建附加元数据导入任务,任务类型是"import",联动目录名称是"sfs-link-directory",关联OBS桶内的源端路径前缀是"input/datasets/"。 { "type" : "import", "src_target" : "sfs-link-directory", "src_prefix" : "input/datasets/", "dest_target" : "sfs-link-directory", "dest_prefix" : "input/datasets/" }
  • 响应示例 状态码: 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" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 type 是 String 任务类型,当前支持import(附加元数据导入),import_metadata(快速导入),preload(数据预热),export(导出)。 附加元数据导入方式会导入OBS对象的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo 导出时的附加元数据(如uid、gid、mode)。 快速导入方式仅会导入OBS对象的元数据(名称、大小、最后修改时间),不会导入其它附加元数据(如uid、gid、mode),SFS Turbo会生成默认的附加元数据(uid:0、gid:0、目录权限:755、文件权限:644)。 数据预热功能会同时导入元数据和数据内容,数据预热中的元数据导入采用快速导入方式,不会导入其它附加元数据(如uid、gid、mode)。 数据导出功能会将您在联动目录里创建的文件,以及对从OBS导入后又做过修改的文件导出存储到OBS桶里。 枚举值: import export import_metadata preload src_target 是 String 联动目录名称 src_prefix 否 String 导入导出任务的源端路径前缀,导入时不需要包含OBS桶名,导出时不需要包含联动目录名称。 对于数据预热导入,携带源端路径前缀时必须是以“/”结尾的目录或具体到某个对象。 如果不带该字段,导入时会导入绑定OBS桶内的所有对象,导出时会导出联动目录下的所有文件。 dest_target 是 String 目前只支持和src_target保持一致 dest_prefix 否 String 目前只支持和src_prefix保持一致
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 change_name 是 ShareName object 需要修改的SFS Turbo文件系统 表4 ShareName 参数 是否必选 参数类型 描述 name 是 String 需要修改的SFS Turbo文件系统的名字
  • 响应示例 状态码: 200 目录资源使用情况 { "dir_usage" : { "used_capacity" : 1024000 } } 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0102", "errMsg" : "Path is not directory" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 接口约束 在2023年8月1号之后创建的文件系统支持该API操作。该接口仅适用于SFS Turbo上一代文件系统规格类型(标准型、标准型-增强版、性能型、性能型-增强版)。20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB、HPC缓存型的SFS Turbo文件系统,请使用“创建文件系统异步任务”接口。该接口并发请求数过大可能会影响文件系统性能,建议同时提交的查询请求不要超过 4 个。查询超大目录耗时较久,请不要重复提交。
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 dir_usage FsDirUasge object 消息描述 表6 FsDirUasge 参数 参数类型 描述 used_capacity Long 占用容量,单位:byte 最小值:0 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表8 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表9 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表10 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4dde",后端target_id为"11abef677ac40f46644d1d5cfc2424a4",删除后端 DELETE HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/77ba6f4b-6365-4895-8dda-bc7142af4dde/targets/11abef677ac40f46644d1d5cfc2424a4
  • 响应参数 状态码: 202 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 target_id String 绑定关系id delete_data_in_file_system Boolean 删除后端存储时是否同时删除文件系统内的联动目录及其数据文件 lifecycle String 绑定状态。只支持DELETING和FAILED 枚举值: DELETING AVAILABLE MISCONFIGURED CREATING FAILED 状态码: 404 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 响应示例 状态码: 202 任务下发成功 { "target_id" : "00000334-xxxx-402d-a5d4-bxxxxx87b939", "delete_data_in_file_system" : false, "life_cycle" : "DELETING" } 状态码: 404 错误响应 { "errCode" : "SFS.TURBO.0126", "errMsg" : "target not found, not bound yet" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "internal server error" }
  • URI DELETE /v1/{project_id}/sfs-turbo/shares/{share_id}/targets/{target_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id share_id 是 String 文件系统id target_id 是 String 绑定关系id 表2 Query参数 参数 是否必选 参数类型 描述 delete_data_in_file_system 否 Boolean 删除后端存储时是否同时删除文件系统内的联动目录及其数据文件,默认为 false。数据删除后无法恢复,请谨慎操作。
  • 响应示例 状态码: 200 更新quota成功 { "path" : "/data/test", "capacity" : 1024, "inode" : 100000 } 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0102", "errMsg" : "Path is not directory" } 状态码: 403 错误响应 { "errCode" : "SFS.TURBO.0113", "errMsg" : "dir not create quota" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 path String 合法的已存在的目录的全路径 capacity Integer 目录的容量大小,单位:MB inode Integer 目录的inode数量限制 used_capacity Integer 目录已使用的容量大小,单位:MB。仅SFSTurbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB返回该字段 used_inode Integer 目录的已使用的inode数量。仅SFSTurbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB返回该字段 状态码: 400 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 403 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 path 是 String 合法的已存在的目录的全路径 capacity 否 Integer 目录的容量大小,单位:MB; 设置为0会导致数据无法写入目录; capacity和quota至少二选一 inode 否 Integer 目录的inode数量限制; 设置为0会导致数据无法写入目录; capacity和quota至少二选一
  • 响应示例 状态码: 200 任务下发成功 { "gc_time" : 10 } 状态码: 404 错误响应 { "errCode" : "SFS.TURBO.0002", "errMsg" : "share not exist" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的 token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 更新文件系统的操作类型。当前仅支持取值 config_gc_time gc_time 是 Integer 文件系统冷数据淘汰时间,单位为小时,取值范围 [1, 100000000]。系统默认为 60 小时
共100000条