调用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仅自动检查该目录下的源端数据是否发生更新并自动导入更新的数据。 限制:
说明 该目录必须是CPFS上的已有目录,且必须位于开启了数据流动的Fileset中。 |
AutoRefreshPolicy | String | 否 | None | 自动更新策略,源端数据更新以后,数据更新导入到CPFS的策略。包括:
|
AutoRefreshInterval | Long | 否 | 10 | 自动更新间隔时间。每隔该时间间隔,CPFS会检查目录内是否存在数据更新,如果有数据更新,启动自动更新任务。单位为分钟。 取值范围:5~526600。默认值:10。 |
DryRun | Boolean | 否 | 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. | 查询的自动更新目录数量超过限制。 |
访问错误中心查看更多错误码。