使用 cloudformation 在 redshift 中安排查询

问题描述 投票:0回答:1

我在 aws redshift 中有几个查询,我想使用 redshift 计划功能来安排这些查询,以便我可以根据特定要求运行这些查询。我想使用 cloudformation yaml 脚本来完成这项工作。我一直在尝试这样做,但我无法找出脚本中将使用哪些属性/键。我也检查了文档,但找不到任何可行的解决方案。 为了使计划工作,我需要 2 个资源,即具有相关权限的 iam 角色和 redshift 计划资源。下面是我正在使用的查询计划资源的片段

  ScheduledQuery1:
    Type: AWS::Redshift::ScheduledAction
    Properties:
      Enable: true
      IamRole: !GetAtt RedshiftSchedulerRole.Arn
      ScheduledActionName: ScheduledQuery1
      ScheduledActionDescription: "Runs query 1 every day at 12:00 AM PST"
      Schedule: cron(45 14 * * ? *)  # Every day at 12:00 AM PST (adjust as needed)
     TargetAction:
        #Query: "SELECT * FROM foodics_reports.foodics_daily_sales limit 100"
        #ExecuteStatement:
          #Database: dfsftdb
          #SQL: "SELECT * FROM foodics_reports.foodics_daily_sales limit 100"

脚本的 TargetAction 部分有问题,我尝试了多种方法使其工作,但它总是给出此错误

 Properties validation failed for resource ScheduledQuery1 with message: [#/TargetAction: extraneous key [Database] is not permitted, #/TargetAction: extraneous key [Sql] is not permitted, #/TargetAction: extraneous key [Database] is not permitted, #/TargetAction: extraneous key [Sql] is not permitted, #/TargetAction: extraneous key [Database] is not permitted, #/TargetAction: extraneous key [Sql] is not permitted

请提供此错误的解决方案,出了什么问题以及此场景的解决方案/正确的工作yaml脚本是什么。

尝试了目标操作部分中的多个键并浏览文档来解决此问题,但没有找到解决方案。

database yaml amazon-redshift aws-cloudformation
1个回答
0
投票

我 99% 确定使用任何类型的自动化都不支持设置“查询编辑器”计划查询。你能做的最好的事情就是安排一个调用查询的 lambda(如果它长时间运行,则不等待它返回)。通过编辑器设置计划查询,然后查看它创建的事件桥规则,我认为它实际上指向创建的一些内部 redshift thingy 查询编辑器。我的意思是也许你可以对它进行反向工程,很想知道你是否可以让它工作。我放弃了它,只是使用云形成来设置正确的 iam 内容,这样我就可以自己添加计划的查询。

© www.soinside.com 2019 - 2024. All rights reserved.