使用CloudFormation模板更新AWS Athena工作组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用CloudFormation模板更新AWS Athena工作组相关的知识,希望对你有一定的参考价值。
我有2个从AWS::Athena::WorkGroup - AWS CloudFormation文档中提取的模板。
第一个模板athena_create.yaml
按预期工作。第二个模板需要修改在第一个模板中创建的工作组。但我收到一个错误:
MyCustomWorkGroup已存在于堆栈中arn:aws:cloudformation:us-east-1:XXX:stack / a1 / 7cc670a0-8d19-11ea-872c-12217e59f19f
这里是代码。创建模板可以正常工作。
athena_create.yaml
Resources:
MyAthenaWorkGroup:
Type: AWS::Athena::WorkGroup
Properties:
Name: MyCustomWorkGroup
Description: My WorkGroup
State: ENABLED
Tags:
- Key: "key1"
Value: "value1"
- Key: "key2"
Value: "value2"
WorkGroupConfiguration:
BytesScannedCutoffPerQuery: 200000000
EnforceWorkGroupConfiguration: false
PublishCloudWatchMetricsEnabled: false
RequesterPaysEnabled: true
ResultConfiguration:
OutputLocation: s3://path/to/my/bucket/
athena_update.yaml
Resources:
MyAthenaWorkGroup:
Type: AWS::Athena::WorkGroup
Properties:
Name: MyCustomWorkGroup
Description: My WorkGroup Updated
State: DISABLED
Tags:
- Key: "key1"
Value: "value1"
- Key: "key2"
Value: "value2"
WorkGroupConfigurationUpdates:
BytesScannedCutoffPerQuery: 10000000
EnforceWorkGroupConfiguration: true
PublishCloudWatchMetricsEnabled: true
RequesterPaysEnabled: false
ResultConfigurationUpdates:
EncryptionConfiguration:
EncryptionOption: SSE_S3
OutputLocation: s3://path/to/my/bucket/updated/
上述更新模板无法按预期工作。
错误的原因是,这两个模板用于创建两个独立的堆栈。这没有用,因为它们有两个同名的Athena工作组:MyCustomWorkGroup
。
执行创建和更新MyCustomWorkGroup
的正确方法如下:
使用
athena_create.yaml
文件创建堆栈。一旦创建了堆栈,请使用其
Update
选项上载要更新堆栈的athena_update.yaml
。
以上是关于使用CloudFormation模板更新AWS Athena工作组的主要内容,如果未能解决你的问题,请参考以下文章
AWS Cloudformation错误:由于递归导入而导致的递归锁定
AWS CloudFormation 更新 Lambda 代码以在 S3 存储桶中使用最新版本
System Operations on AWS - Lab 7 - CloudFormation
如何修复与 AWS::CloudFormation::Init 一起创建 EC2 的 cloudformation 模板