AWS::Athena::WorkGroup - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::Athena::WorkGroup

AWS::Athena::WorkGroup 资源指定一个 Amazon Athena 工作组,其中包含名称、描述、创建时间、状态和其他配置,在 WorkGroupConfiguration 下列出。您可以使用各个工作组将您或您的组的查询,与同一账户中的其他查询隔离开来。有关更多信息,请参阅 Amazon Athena API 参考 中的 CreateWorkGroup

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Athena::WorkGroup", "Properties" : { "Description" : String, "Name" : String, "RecursiveDeleteOption" : Boolean, "State" : String, "Tags" : Tags, "WorkGroupConfiguration" : WorkGroupConfiguration, "WorkGroupConfigurationUpdates" : WorkGroupConfigurationUpdates } }

属性

Description

工作组描述。

必需:否

类型:字符串

最低0

最高1024

Update requires: No interruption

Name

工作组名称

必需:是

类型:字符串

模式[a-zA-Z0-9._-]{1,128}

Update requires: Replacement

RecursiveDeleteOption

用于删除工作组及其内容的选项,即使工作组包含任何命名查询或查询执行也是如此。

必需:否

类型:布尔值

Update requires: No interruption

State

工作组的状态:ENABLED 或 DISABLED。

必需:否

类型:字符串

允许的值DISABLED | ENABLED

Update requires: No interruption

Tags

要应用于此资源的键值对的数组。

有关更多信息,请参阅标签

必需:否

类型Tags

Update requires: No interruption

WorkGroupConfiguration

工作组的配置,其中包括 Amazon S3 中存储查询结果的位置、用于查询结果的加密选项(如果有)、是否为工作组启用 Amazon CloudWatch 指标以及每个查询扫描(截止)的字节数限制(如果已指定)。EnforceWorkGroupConfiguration 选项决定工作组设置是否覆盖客户端查询设置。

必需:否

类型WorkGroupConfiguration

Update requires: No interruption

WorkGroupConfigurationUpdates

将为此工作组更新的配置信息,其中包括 Amazon S3 中存储查询结果的位置、为查询结果使用的加密选项(如果有)、是否为工作组启用 Amazon CloudWatch 指标、工作组设置是否覆盖客户端设置,以及每个查询扫描的字节数量的数据使用限制(如果已指定)。

必需:否

类型WorkGroupConfigurationUpdates

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回工作组的名称。例如:

{ "Ref": "myWorkGroup" }

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

CreationTime

创建工作组的日期和时间,以 UNIX 时间戳的格式(以秒为单位)。例如:1582761016

示例

创建 Athena WorkGroup

以下示例模板创建 Athena WorkGroup MyCustomWorkGroup。请注意使用 WorkGroupConfiguration 指定 WorkGroup 的配置。

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/

JSON

{ "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 WorkGroup

以下示例模板更新 Athena WorkGroup MyCustomWorkGroup。请注意使用 WorkGroupConfigurationUpdates 而不是 WorkGroupConfiguration

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/

JSON

{ "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/" } } } } } }