CreateDataFlow - 创建数据流动

更新时间:

创建一个CPFS文件系统与源端存储的数据流动。

接口说明

  • 基础操作

    • CPFS 2.2.0 及以上版本、CPFS 智算版 2.4.0 及以上版本支持数据流动。
    • CPFS、CPFS 智算版状态为运行中,才能创建数据流动。
    • 一个文件存储 CPFS 或者 CPFS 智算版文件系统最大允许创建 10 个数据流动。
    • 创建数据流动一般耗时 2~5 分钟,您可通过 DescribeDataFlows 检查数据流动创建是否完成。
  • 权限

    创建数据流动时,文件存储 CPFS 会获取AliyunServiceRoleForNasOssDataflowAliyunServiceRoleForNasEventNotification两个服务关联角色。更多信息,请参见 CPFS 服务关联角色

  • CPFS 使用说明

    • 计费

      • 创建数据流动将按照数据流动带宽计费。更多信息,请参见 CPFS 计费说明
      • 使用自动更新(AutoRefresh)时,需要通过 EventBridge 收集源端 OSS 存储的对象修改事件,事件将产生费用。更多信息,请参见 EventBridge 计费说明
    • 数据流动规格

      • 数据流动带宽(Throughput)支持 600 MB/s、1200 MB/s 和 1500 MB/s 三种规格。数据流动带宽是指该数据流动进行导入或导出数据时能达到的最大传输带宽。
      • 创建一个数据流动,会消耗 1 个文件存储 CPFS 挂载点使用的 vSwitch IP 地址,请您确保该 vSwitch IP 资源充足。
      • 库存查询:当设置 DryRun 为 true 时,可校验创建该规格的数据流动的资源是否满足。
    • Fileset

      • 数据流动的目的端是 CPFS 文件系统中的 Fileset。Fileset 是 CPFS 文件系统中一种新的目录树结构,是在父文件系统中的一个小型文件系统,拥有独立的 inode 空间和管理能力。
      • 当文件系统类型为 CPFS 时,创建数据流动时该 Fileset 必须已存在,且不能与其他 Fileset 嵌套。一个 Fileset 上只能创建一个数据流动,对应一个源端存储。
      • Fileset 内的文件数量上限是 100 万,如果从 OSS Bucket 导入的文件数量超过上限,创建新文件会报错no space
    说明 如果 Fileset 中已存在数据,创建数据流动后,Fileset 内的已有数据会被清空,替换为 OSS 端同步过来的数据。
    • 自动更新

      • 配置自动更新(AutoRefresh)后,当源端存储数据发生变化时,变化的元数据会自动同步到 CPFS 文件系统,变化的数据会在用户访问文件时按需加载,或者启动数据流动任务加载数据。
      • 自动更新依赖 EventBridge 收集源端 OSS 存储的对象修改事件。需要先开通 EventBridge 服务
      • 自动更新的作用范围是 prefix,由参数 RefreshPath 指定。一个数据流动最多可配置 5 个自动更新目录。
      • 自动更新间隔(AutoRefreshInterval)指 CPFS 设置的自动更新时间,检查源端 OSS Bucket 该 prefix 内是否存在数据更新,如果有数据更新则启动自动更新任务。当 OSS 源端的对象修改事件频率超过 CPFS 数据流动处理能力时,自动更新任务会堆积,元数据更新会延迟,数据流动的状态为Misconfigured,您可以提升数据流动规格,或者降低 OSS 修改频率来解决。
      • 在文件存储 CPFS 数据流动对 prefix 配置自动更新时,会在用户侧创建事件总线,并创建源端 OSS Bucket 的 prefix 的事件规则。当源端 OSS Bucket 的 prefix 内发生对象修改后,会在 EventBridge 中产生 OSS 事件,由 CPFS 数据流动处理。
      说明 文件存储 CPFS 在 EventBridge 创建的事件总线、事件规则带有Create for cpfs auto refresh的描述,事件总线、事件规则都不能修改或删除,否则自动更新无法正常工作。
    • 源端存储

      • 源端存储仅支持 OSS。数据流动的源端存储(SourceStorage)必须是 OSS Bucket。
      • CPFS 数据流动支持加密和非加密两种方式访问 OSS。选择加密(SSL)方式访问 OSS 时,需确认 OSS Bucket 的传输加密支持加密访问方式。
      • 如果多个 CPFS 的数据流动、或者同一个文件存储 CPFS 的多个数据流动的源端存储是同一个 OSS Bucket,为了防止多个文件存储 CPFS 向同一个源导出数据产生数据冲突,需要该 OSS Bucket 开启版本控制。
      • 不支持跨地域的 OSS 数据流动,OSS Bucket 必须与 CPFS 文件系统在同一个地域。
      说明 创建数据流动前,您需要先给源端 OSS Bucket 设置标签(key: cpfs-dataflow, value: true),以便 CPFS 数据流动访问该 Bucket 的数据。在数据流动的使用过程中,不能删除和修改该标签,否则 CPFS 数据流动无法访问 Bucket 的数据。
  • CPFS 智算版使用说明

    • 源端存储

      • 源端存储仅支持 OSS。数据流动的源端存储(SourceStorage)必须是 OSS Bucket。
      • CPFS 智算版数据流动支持加密和非加密两种方式访问 OSS。选择加密(SSL)方式访问 OSS 时,需确认 OSS Bucket 的传输加密支持加密访问方式。
      • 如果多个 CPFS 智算版的数据流动、或者同一个 CPFS 智算版的多个数据流动的源端存储是同一个 OSS Bucket,为了防止多个 CPFS 智算版向同一个源导出数据产生数据冲突,需要该 OSS Bucket 开启版本控制。
      • 不支持跨地域的 OSS 数据流动,OSS Bucket 必须与 CPFS 文件系统在同一个地域。
      • CPFS 智算版 2.6.0 及以上版本支持使用跨账号 OSS 进行数据流动的创建。
      • 只有在使用跨账号的 OSS 时,需要设置 account id 参数。
      • 使用跨账号的 OSS 时,需要先进行账号授权。具体授权请参考跨账号数据流动授权
        说明 创建数据流动前,您需要先给源端 OSS Bucket 设置标签(key: cpfs-dataflow, value: true),以便 CPFS 智算版数据流动访问该 Bucket 的数据。在数据流动的使用过程中,不能删除和修改该标签,否则 CPFS 智算版数据流动无法访问 Bucket 的数据。
    • 数据流动对文件系统的限制

      • 在数据流动关联的文件系统路径中,不可对非空目录执行重命名操作,否则报错 Permission Denied 或者目录非空。
      • 目录、文件名中的特殊字符需要谨慎使用,支持大小写字母、数字、感叹号(!)、短划线(-)、下划线(_)、半角句号(.)、星号(*)和半角圆括号(())。
      • 不支持超长路径,数据流动支持的路径最大长度是 1023 字符。
    • 数据流动导入限制

      • Symlink 类型的文件导入到 CPFS 智算版后,会转变为包含数据的普通文件,并丢失 Symlink 信息。
      • 如果 OSS Bucket 存在多个版本,则只复制最新的版本。
      • 不支持长度大于 255 字节的文件名或子目录名。
    • 数据流动导出限制

      • Symlink 类型的文件在同步到 OSS 后,不会同步 Symlink 所指向的文件,而是会变成一个普通的无数据空白对象。
      • Hardlink 类型的文件仅作为普通文件同步到 OSS。
      • Socket、Device、Pipe 类型的文件导出到 OSS Bucket 时,会变成一个普通的无数据空白对象。
      • 不支持长度大于 1023 字符的目录路径。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
nas:CreateDataFlowcreate
  • DataFlow
    acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}

请求参数

名称类型必填描述示例值
FileSystemIdstring

文件系统 ID。

  • CPFS:必须以cpfs-开头,例如 cpfs-125487****。

  • CPFS 智算版:必须以bmcpfs-开头,例如 bmcpfs-0015****。

说明 国际站不支持 CPFS。
cpfs-099394bd928c****
FsetIdstring

Fileset ID。

说明 当文件系统类型为 CPFS 时,该参数必填。
fset-1902718ea0ae****
SourceStoragestring

源端存储的访问地址。格式:<storage type>://[<account id>:]<path>

其中:

  • storage type:目前只支持 oss。

  • account id:可选参数,源端存储所属账号的 UID。使用跨账号的 OSS 时,该参数必填。

  • path:OSS 的 Bucket 名称。限制如下。

    • 仅支持小写字母、数字和短划线(-)且必须以小写字母或者数字开头和结尾。

    • 最长为 128 个字符。

    • 使用 UTF-8 编码。

说明
  • OSS Bucket 必须为在该地域已存在的 Bucket。
  • 仅 CPFS 智算版 2.6.0 及以上版本支持 account id 参数。
  • oss://178321033379****:bucket-01
    SourceSecurityTypestring

    源端存储的安全保护类型,如果源端存储必须通过安全保护访问,请指定源端存储的安全保护类型。取值:

    • 无(默认值):表示源端存储不需要通过安全保护方式访问。
    • SSL:通过 SSL 证书保护访问。
    SSL
    Throughputlong

    数据流动的传输带宽上限,单位:MB/s 。取值:

    • 600
    • 1200
    • 1500
    说明 数据流动的传输带宽必须小于文件系统的 IO 带宽。 当文件系统类型为 CPFS 时,该参数必填。
    600
    Descriptionstring

    数据流动的描述。

    限制:

    • 长度为 2~128 个英文或中文字符。
    • 必须以大小写字母或中文开头,不能以http://https://开头。
    • 可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。
    Bucket01 DataFlow
    AutoRefreshsarray<object>

    自动更新配置信息集合。

    说明 当文件系统类型为 CPFS 时,本参数生效。
    object
    RefreshPathstring

    自动更新目录,CPFS 注册源端存储的数据修改事件,检查该目录下的源端数据是否发生更新并自动导入更新的数据。

    默认为空,源端存储的任何数据更新不会自动导入 CPFS,需要通过手动任务导入更新。

    限制:

    • 长度为 2~1024 个字符。
    • 使用 UTF-8 编码。
    • 必须以正斜线(/)开头和结尾。
    • 该目录必须是 CPFS 上的已有目录,且必须位于该数据流动的 Fileset 目录中。
    /prefix1/prefix2/
    AutoRefreshPolicystring

    自动更新策略,源端数据更新以后,数据更新导入到 CPFS 的策略。

    • None(默认值):源端的数据更新不自动导入 CPFS,用户可通过数据流动任务导入源端的数据更新。
    • ImportChanged:源端的数据更新自动导入 CPFS。
    说明 当文件系统类型为 CPFS 时,本参数生效。
    None
    AutoRefreshIntervallong

    自动更新间隔时间,每隔该时间间隔,CPFS 检查目录内是否存在数据更新,如果有数据更新,启动自动更新任务,单位:分钟。

    取值范围:10~525600,默认值:10。

    说明 当文件系统类型为 CPFS 时,本参数生效。
    10
    DryRunboolean

    是否对此次创建请求执行预检。

    预检操作会帮助您检查参数有效性、校验库存等,并不会实际创建实例,也不会产生费用。

    取值:

    • true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式、业务限制和 NAS 库存。如果检查不通过,则返回对应错误。如果检查通过,则返回 200 HttpCode,但 FileSystemId 为空。
    • false(默认):发送正常请求,通过检查后直接创建实例。
    false
    ClientTokenstring

    保证请求幂等性,从您的客户端生成一个参数值,确保不同请求间该参数值唯一。

    ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

    说明 若用户未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 可能不一样。
    123e4567-e89b-12d3-a456-42665544****
    SourceStoragePathstring

    源端存储 Bucket 内的访问路径。限制如下。

    • 必须以/开头和结尾。

    • 区分大小写。

    • 长度为 1~1023 个字符之间。

    • 使用 UTF-8 编码。

    说明 当文件系统类型为 CPFS 智算版时,本参数必填。
    /prefix/
    FileSystemPathstring

    CPFS 智算版文件系统内的目录。限制如下。

    • 必须以/开头和结尾。

    • 该目录必须是 CPFS 智算版上的已有目录。

    • 长度为 1~1023 个字符之间。

    • 使用 UTF-8 编码。

    说明 当文件系统类型为 CPFS 智算版时,本参数必填。
    /path/

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    473469C7-AA6F-4DC5-B3DB-A3DC0D****3E
    DataFlowIdstring

    数据流动 ID。

    df-194433a5be31****

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0D****3E",
      "DataFlowId": "df-194433a5be31****"
    }

    错误码

    HTTP status code错误码错误信息描述
    400IllegalCharactersThe parameter contains illegal characters.参数非法。
    400MissingFsetIdFsetId is mandatory for this action.未指定Fileset ID参数。
    400MissingSourceStorageSourceStorage is mandatory for this action.未指定SourceStorage参数。
    400MissingThroughputThroughput is mandatory for this action.未指定Throughput参数。
    400MissingFileSystemIdFileSystemId is mandatory for this action.未指定FileSystemId参数。
    400InvalidFilesystemVersion.NotSupportThis Api does not support this fileSystem version.当前接口不支持该版本文件系统。
    400DataFlow.Bucket.RegionUnmatchedThe bucket and file system are not in the same region.bucket和filesystem的region不一致。
    403OperationDenied.DependencyViolationThe operation is denied due to dependancy violation.进行该操作的条件不满足。
    403OperationDenied.NoStockThe operation is denied due to no stock.文件系统无库存。
    403OperationDenied.DependFsetThe operation is denied due to invalid fileset state.由于fileset状态异常创建数据流动失败。
    403OperationDenied.ConflictOperationThe operation is denied due to a conflict with an ongoing operation.与当前的文件系统操作冲突导致无法创建数据流动。
    403OperationDenied.DependMountpointThe operation is denied because no mount point is found.由于文件系统没有挂载点导致创建数据流动失败。
    403OperationDenied.FsetAlreadyInUseThe Fset is already bound to another data flow.Fset已经被使用。
    403OperationDenied.AutoRefreshNotSupportThe operation is denied. Auto refresh is not supported.该文件系统不支持自动更新。
    403OperationDenied.DependBucketTagThe operation is denied. The OSS Bucket tag cpfs-dataflow is missing.由于OSS Bucket未打上cpfs-dataflow标签,创建数据流动失败。
    403OperationDenied.DataFlowNotSupportedThe operation is not supported.该文件系统不支持数据流动。
    403InvalidOperation.DeletionProtectionThe operation is not allowed due to resource is protected by deletion protection.实例处于删除保护中,不能通过控制台或 API 释放实例。
    403DataFlow.Bucket.AccessDeniedBucket access denied.数据流动鉴权错误。
    404InvalidFileSystem.NotFoundThe specified file system does not exist.指定的文件系统不存在。
    404InvalidThroughput.OutOfBoundsThroughput is out of bounds.指定的Throughput不在合法范围中。
    404InvalidDescription.InvalidFormatDescription format is invalid.指定的描述格式非法。
    404InvalidRefreshPath.InvalidParameterRefresh path is invalid.指定的自动更新目录的路径非法。
    404InvalidRefreshPath.DuplicatedRefresh path is duplicated.指定的自动更新目录的路径重复。
    404InvalidRefreshPath.NotFoundRefresh path does not exist.指定的自动更新目录不存在。
    404InvalidRefreshPolicy.InvalidParameterRefresh policy is invalid.自动更新策略非法。
    404InvalidRefreshInterval.OutOfBoundsRefresh interval is out of bounds.指定的RefreshInterval不在合法范围中。
    404InvalidSourceStorage.UnreachableSource storage cannot be accessed.源端存储无法访问。
    404InvalidSourceStorage.NotFoundSource storage is not found.指定的源端存储不存在。
    404InvalidSourceStorage.NotSupportSource storage type is not supported.指定的源端存储的类型不支持。
    404InvalidSourceStorage.PermissionDeniedThe source storage access permission is denied.无源端存储访问权限,请检查SLR授权、源存储的访问tag。
    404InvalidSourceStorage.InvalidRegionSource storage region is invalid.源端存储的区域异常,请检查源端存与CPFS是否在同一个region。
    404InvalidSourceStorage.InvalidParameterSource storage has invalid parameters.指定的源端存储路径非法。
    404InvalidSourceSecurityType.NotSupportThe source security type is not supported.指定的源端存储的安全保护类型不支持。
    404InvalidAutoRefresh.TooManyAutoRefreshesThe number of auto refreshes exceeds the limit.指定的自动更新配置数量超过限制。
    404InvalidSourceStorage.NeedVersioningSource storage must enable versioning.源端存储需要打开多版本功能。
    404InvalidFsetId.NotFoundThe specified Fileset ID does not exist.指定的Fileset不存在。
    404DataFlow.Bucket.NotExistBucket does not exist.bucket不存在。

    访问错误中心查看更多错误码。

    变更历史

    变更时间变更内容概要操作
    2024-09-09OpenAPI 错误码发生变更查看变更详情
    2024-05-31OpenAPI 错误码发生变更查看变更详情
    2024-02-29OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情