是否有API可配置、触发或创建AWS Quicksight数据集的计划增量刷新?
QuickSight 增量刷新与计划刷新API实现方案
增量刷新配置方法
你之前查阅的信息存在误区:增量刷新的相关参数(回溯窗口、增量列)不需要在CreateIngestion接口配置,而是在创建/更新数据集的接口中提前定义:
- 调用
CreateDataSet(新建数据集)或UpdateDataSet(更新已有数据集)API时,在PhysicalTableMap配置块的对应数据源表结构下,新增IncrementalRefreshConfig配置项 - 配置项内
ColumnName字段填写用作增量判断的时间列,通常为数据的生成时间、更新时间字段 - 配置项内
LookbackWindow块填写回溯窗口规则:Size字段填窗口数值,Unit字段填窗口单位,支持HOUR/DAY/WEEK三类单位,例如回溯3天的配置为Size=3、Unit="DAY"
完成数据集配置后,调用CreateIngestion触发刷新时,将IngestionType参数设置为INCREMENTAL_REFRESH即可触发增量刷新,默认值为全量刷新FULL_REFRESH。
计划刷新任务配置方法
AWS已经开放了独立的计划刷新管理API,直接调用CreateRefreshSchedule接口即可创建定时刷新任务:
- 必传
DataSetId参数指定要配置计划的目标数据集 - 接口的
Schedule配置块内填写刷新规则:ScheduleFrequency下的Interval字段设置刷新频率,最小支持15分钟间隔,可填"15MINUTE"/"30MINUTE"/"1HOUR"等取值,你需要动态调整刷新频率时,直接调用UpdateRefreshSchedule接口修改该参数即可RefreshType字段指定刷新类型,填INCREMENTAL_REFRESH为增量计划,填FULL_REFRESH为全量计划
特殊场景替代方案
如果你所在的AWS区域暂未开放上述API,可以用自定义调度逻辑实现同等效果:
- 把动态计算刷新间隔x的逻辑封装在Lambda函数中,根据新数据入库频率、用户活跃度等参数实时调整调度间隔
- Lambda函数内直接调用
CreateIngestion接口,按需指定刷新类型触发刷新,不需要依赖官方的计划刷新功能 - 若需要更灵活的自定义回溯逻辑,可以直接在Lambda中计算增量数据的时间过滤范围,修改数据集的查询条件后再触发刷新,灵活性高于官方原生配置
内容的提问来源于stack exchange,提问作者Akhil Raj
相关产品推荐
相关产品推荐

