[英]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.