AWS Redshift定时查询CloudFormation配置错误解决
Redshift定时查询CloudFormation配置修复方案
错误原因
你当前的TargetAction配置结构不符合AWS Redshift ScheduledAction的规范:
- 不能直接在
TargetAction下写Database、Sql键 - 不存在
ExecuteStatement这个合法属性 - 执行SQL查询必须使用
QueryStatement子属性,所有查询相关参数需嵌套在此属性下
正确配置示例
ScheduledQuery1: Type: AWS::Redshift::ScheduledAction Properties: Enable: true IamRole: !GetAtt RedshiftSchedulerRole.Arn ScheduledActionName: ScheduledQuery1 ScheduledActionDescription: "每天凌晨12点PST执行查询1" Schedule: cron(45 14 * * ? *) # 对应PST时区凌晨12点,可按需调整 TargetAction: QueryStatement: Sql: "USE dfsftdb; SELECT * FROM foodics_reports.foodics_daily_sales limit 100" # 如需传递参数可添加(可选): # QueryParameters: # - ParameterName: "param1" # ParameterValue: "value1"
关键说明
- 数据库指定:若需切换目标数据库,直接在Sql语句开头添加
USE 数据库名;即可,QueryStatement本身无单独的Database配置项 - IAM权限:确保
RedshiftSchedulerRole拥有redshift-data:ExecuteStatement权限及目标Redshift集群的访问权限 - 时区注意:Cron表达式采用UTC时区,你当前配置的
cron(45 14 * * ? *)对应PST凌晨12点,确认时区转换无误
内容的提问来源于stack exchange,提问作者saim naveed
相关产品推荐
相关产品推荐

