设置数据使用控制限制 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置数据使用控制限制

Athena 允许您设置两种类型的成本控制:每个查询限制和每个工作组限制。对于每个工作组,您可以设置一个每个查询限制和多个每个工作组限制。

  • 每个查询控制限制用于指定扫描的每个查询的数据总量。如果工作组中运行的任何查询超出限制值,则该查询将取消。在工作组中您只能创建一个每个查询控制限制,该限制适用于工作组中运行的每个查询。如果您需要进行更改,可编辑限制。有关详细步骤,请参阅创建每个查询数据使用控制

  • 工作组范围内数据使用控制限制用于指定在指定时间段内,针对该工作组中运行的所有查询扫描的数据总量。您可以创建多个每个工作组限制。通过工作组范围内查询限制,您可以对工作组中运行的查询所扫描的数据设置每小时或每日聚合的多个阈值。

    如果扫描的聚合数据量超出阈值,那么您可以将通知推送到 Amazon SNS 主题。要执行此操作,您需要在 Athena 控制台中配置 Amazon SNS 警报和操作,以便当达到限制值时通知管理员。有关详细步骤,请参阅创建每个工作组数据使用控制。您还可以从 CloudWatch 控制台,对 Athena 发布的任何指标创建警报和操作。例如,您可以对失败的查询次数设置警报。如果数量超出特定阈值,此警报可以触发向管理员发送电子邮件。如果超出限制值,操作将向指定用户发送 Amazon SNS 警报通知。

    您可以采取的其他操作:

每个查询限制和每个工作组限制是相互独立的。只要超出任一限制,就会执行指定操作。如果两个或多个用户在同一工作组中同时运行查询,那么有可能每个查询未超出任何指定的限制,但扫描的数据总量超出了每个工作组的数据使用限制。在这种情况下,Amazon SNS 警报会发送给用户。

创建每个查询数据使用控制

每个查询控制限制用于指定扫描的每个查询的数据总量。如果工作组中运行的任何查询超出限制值,则该查询将取消。取消的查询按照Amazon Athena 定价

注意

如果查询被取消或失败,Athena 可能已将部分结果写入 Amazon S3。在这种情况下,Athena 不会从存储结果的 Amazon S3 前缀中删除部分结果。您必须删除带有部分结果的 Amazon S3 前缀。Athena 使用 Amazon S3 分段上传来写入数据 Amazon S3。我们建议您设置存储桶生命周期策略,以便当查询失败时结束分段上传。有关更多信息,请参阅 。使用存储桶生命周期策略中止未完成的分段上传中的Amazon Simple Storage Service 开发人员指南

在工作组中您只能创建一个每个查询控制限制,该限制适用于工作组中运行的每个查询。如果您需要进行更改,可编辑限制。

  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 选择 Workgroup (工作组) 选项卡。

    要为特定工作组中的查询创建数据使用控制,无需切换到该工作组,可以留在其他工作组中。但您需要从列表中选择工作组,并具有编辑工作组的权限。

  3. 从列表中选择工作组,然后选择 View details (查看详细信息)。如果您具有权限,Overview (概览) 选项卡中将显示工作组的详细信息。

  4. 选择 Data usage controls (数据使用控制) 选项卡。

    
                        创建每个查询数据使用控制的屏幕截图。
  5. 每查询数据使用控制部分中,指定字段值,如下所示:

    • 适用于数据限制,指定一个介于 10000 KB(最小值)与 7000000 TB(最大值)之间的值。

      注意

      这些是控制台对工作组内的数据使用控制施加的限制。不表示 Athena 中的任何查询限制。

    • 对于单位,从下拉列表中选择单位值(KB、MB、GB 或 TB)。

    • 默认的 Action (操作) 是当超出限制值时取消查询。此设置不可更改。

  6. 如果要创建新的限制,则选择 Create (创建);如果要编辑现有限制,则选择 Update (更新)。如果您正在编辑现有限制,请刷新 Overview (概览) 选项卡以查看更新后的限制。

创建每个工作组数据使用控制

工作组范围内数据使用控制限制用于指定在指定时间段内,针对该工作组中运行的所有查询扫描的数据总量。您可以创建多个每个工作组控制限制。如果超出限制值,您可以选择执行操作,例如,向指定用户发送 Amazon SNS 警报通知。

  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 选择 Workgroup (工作组) 选项卡。

    要为特定工作组创建数据使用控制,无需切换到该工作组,可以留在其他工作组中。但您需要从列表中选择工作组,并具有编辑工作组的权限。

  3. 从列表中选择工作组,然后选择 View details (查看详细信息)。如果您具有编辑权限,Overview (概览) 选项卡中将显示工作组的详细信息。

  4. 选择 Data usage controls (数据使用控制) 选项卡并向下滚动。然后选择 。工作组数据使用控制创建新限制或编辑现有限制。将显示 Create workgroup data usage control (创建工作组数据使用控制) 对话框。

  5. 指定字段值,如下所示:

    • 适用于数据限制,指定一个介于 10 MB(最小值)与 7000000 TB(最大值)之间的值。

      注意

      这些是控制台对工作组内的数据使用控制施加的限制。不表示 Athena 中的任何查询限制。

    • 对于单位,从下拉列表中选择单位值。

    • 对于时间段,从下拉列表中选择一个时间段。

    • 适用于操作,从下拉列表中选择 Amazon SNS 主题(如果您已配置)。或者,选择创建 Amazon SNS 主题直接转到Amazon SNS 控制台,创建 Amazon SNS 主题,并为您 Athena 账户中的用户之一设置该主题的订阅。有关更多信息,请参阅 。创建 Amazon SNS 主题中的Amazon Simple Notification Service 入门指南

  6. 如果要创建新的限制,则选择 Create (创建);如果要编辑现有限制,则选择 Save (保存)。如果您正在编辑现有限制,请刷新工作组的 Overview (概览) 选项卡以查看更新后的限制。