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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

设置数据使用控制限制

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

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

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

    如果扫描的聚合数据量超出阈值,那么您可以选择执行下列操作之一:

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

    • 调用 Lambda 函数 有关详细信息,请参阅 调用 Lambda 功能使用 Amazon SNS 通知Amazon Simple Notification Service 开发人员指南.

    • 禁用工作组,停止运行任何后续查询。

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

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

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

注意

当查询被取消或失败时,Athena 可能已将部分结果写入 Amazon S3。在这种情况下,Athena 不会从存储结果的 Amazon S3 前缀中删除部分结果。您必须删除包含部分结果的 Amazon S3 前缀。Athena 使用 Amazon S3 分段上传将数据写入 Amazon S3。我们建议您设置桶生命周期策略,以在查询失败时终止多部件上传。有关更多信息,请参阅 https://docs.amazonaws.cn/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config 中的Amazon Simple Storage Service 开发人员指南使用存储桶生命周期策略中止未完成的分段上传

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

  1. https://console.amazonaws.cn/athena/ 打开 Athena 控制台。

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

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

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

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

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

    • 对于 数据限制,指定介于10000KB(最低)和7000000TB(最大值)之间的值。

      注意

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

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

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

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

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

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

  1. https://console.amazonaws.cn/athena/ 打开 Athena 控制台。

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

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

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

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

    
                        创建每个工作组数据使用控制的屏幕截图。
  5. 指定字段值,如下所示:

    • 对于 数据限制,指定介于10MB(最低)和7000000TB(最大值)之间的值。

      注意

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

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

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

    • 对于 操作,选择一个 Amazon SNS 如果已配置,则从下拉列表中进行主题。或者,选择 Create an Amazon SNS topic (创建 Amazon SNS 主题) 直接转至 Amazon SNS 控制台,创建 Amazon SNS 主题,并为您 Athena 账户中的用户之一设置该主题的订阅。有关详细信息,请参阅 创建 Amazon SNS 主题Amazon Simple Notification Service 入门指南.

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