AWS EventBridge单规则多Redshift目标执行模式及同步配置问询
AWS EventBridge Redshift 目标执行逻辑及顺序触发方案
1. EventBridge 目标的执行模式
- EventBridge 规则下配置的所有目标均为异步执行,同一条规则绑定的多个目标会被并行触发,不存在天然的执行先后依赖。
- 针对 Redshift 类目标,EventBridge 仅负责向
Redshift Data API提交查询请求,提交动作完成后就会结束当前调用流程,不会等待查询实际执行完成,也不会对查询结果做校验。
2. 两个 Redshift 查询依次触发的实现方案
直接在单条 EventBridge 规则中配置两个 Redshift 目标无法满足顺序执行的要求,可通过以下两种方案实现需求:
方案一:基于 Step Functions 编排(推荐)
- 创建 Step Functions 状态机,按业务需要编排查询流程:
- 第一个节点调用
Redshift Data API发起第一个查询,添加状态等待逻辑,直到查询返回执行成功的结果 - 第一个查询执行成功后,再进入第二个节点调用
Redshift Data API发起第二个查询
- 第一个节点调用
- 将该 Step Functions 状态机设置为 EventBridge 规则的唯一目标
该方案支持自定义重试次数、异常分支处理、失败告警等逻辑,适配查询耗时长、流程复杂的场景
方案二:基于 Lambda 中转调用
- 编写 Lambda 函数,在代码逻辑中按顺序触发查询:
- 先调用
Redshift Data API提交第一个查询,轮询查询执行状态,确认执行成功后再提交第二个查询
- 先调用
- 将该 Lambda 函数设置为 EventBridge 规则的唯一目标
该方案适合查询执行时间短的简单场景,注意 Lambda 最大执行时长为15分钟,若查询总耗时超过该限制需选用 Step Functions 方案
内容的提问来源于stack exchange,提问作者Aim_headshot
相关产品推荐
相关产品推荐

