调用CreateDataFlowTask创建一个数据流动任务。

接口说明

  • 该接口仅适用于中国站。
  • 仅CPFS 2.2.0及以上版本支持创建数据流动任务。您可以在控制台文件系统详情页面查看版本信息。
  • 仅支持在Running(正常)状态的数据流动上创建数据流动任务。
  • 数据流动任务是异步执行的,您可通过DescribeDataFlowTasks查询任务执行状态。任务的耗时取决于需要导入、导出的数据量。如果是大量数据,建议拆分成多个任务执行。
  • 手动执行数据流动任务时,该数据流动的自动数据更新任务会被中断并等待。

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateDataFlowTask

接口名称。固定取值:CreateDataFlowTask。

FileSystemId String cpfs-099394bd928c****

文件系统ID。

DataFlowId String dfid-194433a5be31****

数据流动ID。

SrcTaskId String task-****

当指定SrcTaskId时,会从目标数据流动任务拷贝TaskAction、DataType和EntryList参数信息,您无需再单独指定。

TaskAction String Import

数据流动任务类型。

取值:

  • Import:从源端存储将指定的数据导入至CPFS。
  • Export:将CPFS上指定的数据导出至源端存储。
  • Evict:释放CPFS上文件的数据块,释放后文件在CPFS上只保留元数据,您仍能查询该文件,但文件数据块已清除,不占用CPFS上的存储容量。当访问该文件数据时,将再从源端存储按需加载。
  • Inventory:获取CPFS上数据流动管理的文件清单,可提供文件在数据流动中的缓存状态。
DataType String Metadata

数据流动任务操作的数据类型。

取值:

  • Metadata:文件的元数据,包括文件的timestamp、 ownership、permission等属性信息。选择Metadata,只会导入文件的元数据,用户只能看到该文件,但访问该文件数据时,数据从源端存储按需加载。
  • Data:文件的数据块。
  • MetaAndData:文件的元数据和数据块。
Directory String /path_in_cpfs/

数据流动任务执行的目录。

限制:

  • 长度为2~1024个字符。
  • 使用UTF-8编码。
  • 必须以/开头和结尾。
  • 一次只能列举一个目录。
  • 该目录必须是CPFS上的已有目录,且必须位于该数据流动的Fileset中。
EntryList String ["/path_in_cpfs/file1", "/path_in_cpfs/file2"]

数据流动任务执行的文件列表。

限制:

  • 使用UTF-8编码。
  • 文件列表采用JSON格式。
  • 如果源端存储是OSS,必须符合OSS Object的命名规范。
DryRun Boolean false

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

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

取值:

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

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

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

说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。

返回数据

名称 类型 示例值 描述
RequestId String 2D69A58F-345C-4FDE-88E4-BF518948****

请求ID。

TaskId String taskId-1345768****

数据流动任务ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateDataFlowTask
&FileSystemId=cpfs-099394bd928c****
&DataFlowId=dfid-194433a5be31****
&SrcTaskId=task-****
&TaskAction=Import
&DataType=Metadata
&Directory=/path_in_cpfs/
&EntryList=["/path_in_cpfs/file1", "/path_in_cpfs/file2"]
&DryRun=false
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateDataFlowTaskResponse>
    <RequestId>2D69A58F-345C-4FDE-88E4-BF518948****</RequestId>
    <TaskId>taskId-1345768****</TaskId>
</CreateDataFlowTaskResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "2D69A58F-345C-4FDE-88E4-BF518948****",
  "TaskId" : "taskId-1345768****"
}

错误码

HttpCode 错误码 错误信息 描述
400 IllegalCharacters The parameter contains illegal characters. 参数非法。
400 MissingFileSystemId FileSystemId is mandatory for this action. 未指定FileSystemId参数。
400 MissingDataFlowId DataFlowId is mandatory for this action. 未指定DataFlowId参数。
403 OperationDenied.InvalidState The operation is not permitted when the status is processing. 状态处理中不允许此操作。
403 OperationDenied.DependencyViolation The operation is denied due to dependancy violation. 进行该操作的条件不满足。
403 OperationDenied.DataFlowNotSupported The operation is not supported. 该文件系统不支持数据流动。
404 InvalidParameter.InvalidFormat The EntryList format is invalid. 指定的EntryList的格式不符合要求。
404 InvalidParameter.SizeTooLarge The specified EntryList size exceeds 64 KB. 指定的EntryList的大小超过64 KB。
404 InvalidDataFlow.NotFound The specified data flow does not exist. 指定的数据流动不存在。
404 InvalidTaskAction.NotSupported The task action is not supported. 指定的任务类型不支持。
404 InvalidTaskAction.PermissionDenied The task action is not allowed. 指定的任务类型不允许,例如复制系统。
404 InvalidSrcTaskId.NotFound The SrcTaskId is not found. 指定的 SrcTaskId 不存在。
404 InvalidDataType.NotSupported The data type is not supported. 指定的数据类型不支持。
404 InvalidSrcTaskId.TaskIdInvalid Source task ID is invalid. 指定的需要复制的任务 ID 非法
404 InvalidSrcTaskId.TaskIdNotFound Source task ID is not found. 指定的需要复制的任务 ID 不存在。

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