调用ApplyDataFlowAutoRefresh为指定数据流动配置自动更新。

接口说明

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

调试

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

请求参数

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

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

FileSystemId String cpfs-099394bd928c****

文件系统ID。

DataFlowId String dfid-194433a5be31****

数据流动ID。

AutoRefreshs.N.RefreshPath String /prefix1/prefix2/

自动更新目录,CPFS仅自动检查该目录下的源端数据是否发生更新并自动导入更新的数据。

限制:

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

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

  • None:源端的数据更新不自动导入CPFS,用户可通过数据流动任务导入源端的数据更新。
  • ImportChanged:源端的数据更新自动导入CPFS。
AutoRefreshInterval Long 10

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

取值范围:5~526600。默认值:10。

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 98696EF0-1607-4E9D-B01D-F20930B6****

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=ApplyDataFlowAutoRefresh
&FileSystemId=cpfs-099394bd928c****
&DataFlowId=dfid-194433a5be31****
&AutoRefreshs=[{"RefreshPath":"/prefix1/prefix2/"}]
&AutoRefreshPolicy=None
&AutoRefreshInterval=10
&DryRun=false
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&公共请求参数

正常返回示例

XML格式

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

<ApplyDataFlowAutoRefreshResponse>
    <RequestId>98696EF0-1607-4E9D-B01D-F20930B6****</RequestId>
</ApplyDataFlowAutoRefreshResponse>

JSON格式

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

{
  "RequestId" : "98696EF0-1607-4E9D-B01D-F20930B6****"
}

错误码

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 InvalidFileSystem.AlreadyExisted The specified file system already exists. 指定的文件系统已存在。
403 OperationDenied.DependencyViolation The operation is denied due to dependancy violation. 进行该操作的条件不满足。
403 OperationDenied.NestedDir The operation is denied due to nested directory. 目录存在嵌套导致无法创建自动更新配置。
403 OperationDenied.ConflictOperation The operation is denied due to a conflict with an ongoing operation. 与当前的文件系统操作冲突导致无法创建数据流动。
403 OperationDenied.DataFlowNotSupported The operation is not supported. 该文件系统不支持数据流动。
404 InvalidFileSystem.NotFound The specified file system does not exist. 指定的文件系统不存在。
404 InvalidDataFlow.NotFound The specified data flow does not exist. 指定的数据流动不存在。
404 InvalidRefreshPath.InvalidParameter Refresh path is invalid. 指定的自动更新目录的路径非法。
404 InvalidRefreshPath.NotFound Refresh path does not exist. 指定的自动更新目录不存在。
404 InvalidRefreshPolicy.InvalidParameter Refresh policy is invalid. 自动更新策略非法。
404 InvalidRefreshInterval.OutOfBounds Refresh interval is out of bounds. 指定的RefreshInterval不在合法范围中。
404 InvalidRefreshPath.AlreadyExist The refresh path already exists. 指定的自动更新目录已存在。
404 InvalidRefreshPath.TooManyPaths The number of refresh paths exceeds the limit. 查询的自动更新目录数量超过限制。

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