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

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

设置数据使用控制限制

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

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

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

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

    您可以采取的其他操作:

    • 调用 Lambda 函数。有关更多信息,请参阅 中的使用通知LambdaAmazon 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. Per query data usage control (每个查询数据使用控制) 部分中,指定字段值,如下所示:

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

      注意

      这些是控制台对工作组内的数据使用控制施加的限制。不表示 中的任何查询限制。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 (数据使用控制) 选项卡,然后向下滚动。然后选择 Workgroup data usage controls (工作组数据使用控制) 以创建新的限制或编辑现有限制。此时将显示 Create workgroup data usage control (创建工作组数据使用控制) 对话框。

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

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

      注意

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

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

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

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

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