繁体   English   中英

如何使用 Cloudformation 更新 Athena output 位置

[英]How to update Athena output location using Cloudformation

有人可以帮我编写一个云形成脚本来更新 Athena 主工作组的 output 位置。 当我运行以下代码时,收到错误消息“提供的请求无效:无法创建主工作组(服务:Athena,状态代码:400,请求 ID:9945209c-6999-4e8b-bd3d-a3af13b4ac4f)”

Resources:
  MyAthenaWorkGroup:
    Type: AWS::Athena::WorkGroup
    Properties:
      Name: primary
      Description: My WorkGroup Updated
      State: DISABLED
      WorkGroupConfigurationUpdates:
        BytesScannedCutoffPerQuery: 10000000
        EnforceWorkGroupConfiguration: true
        PublishCloudWatchMetricsEnabled: true
        RequesterPaysEnabled: false
        ResultConfigurationUpdates:
          EncryptionConfiguration:
            EncryptionOption: SSE_S3          
          OutputLocation: s3://test/

您需要“创建一个更改集以将现有资源导入新的或现有的堆栈。”,因为“主要”工作组是在您的堆栈之外创建的。 因此,您需要使用选项:“使用现有资源创建堆栈”:

在此处输入图像描述


您还需要添加 DeletionPolicy/UpdateReplacePolicy。 一个完整的工作示例是:

  Resources:
    AthenaPrimaryWorkGroup:
      Type: AWS::Athena::WorkGroup
      Properties:
        Name: primary
        State: ENABLED
        WorkGroupConfigurationUpdates:
          BytesScannedCutoffPerQuery: 1000000000
          EnforceWorkGroupConfiguration: true
          PublishCloudWatchMetricsEnabled: true
          RequesterPaysEnabled: false
          ResultConfigurationUpdates:
            OutputLocation: s3://MY-Athena-results
      DeletionPolicy: Retain
      UpdateReplacePolicy: Retain

更多详情请访问: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html

为什么不将您的 cloudformation 堆栈中的工作组命名为“主要”以外的名称,并让堆栈完全管理工作组资源? 然后,根据系统的 rest 的设置方式,使用这个新的工作组而不是主工作组可能会奏效。 即使您确实可以更改主要工作组 output 在 CF 中的位置,我认为很明显这与 CF 最自然的使用模式背道而驰。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM