创建自定义费用控制条件

如果您有多个 BigQuery 项目和用户,可以通过申请自定义配额(指定每天处理的查询数据量的限制)来管理费用。

通过为查询数据创建自定义配额,您可以在项目级别或用户级别控制费用。

  • 项目级自定义配额会限制该项目中所有用户的总用量。

  • 用户级自定义配额会分别应用于项目中的每个用户或服务帐号

要了解当前的按需查询价格,请参阅价格页面

如何设置或修改自定义配额

要设置自定义配额或修改现有自定义配额,请访问 Google Cloud Platform Console 页面。配额更改会在几分钟内生效。

要更改配额,您必须拥有 serviceusage.quotas.update 权限。以下预定义的项目级 IAM 角色中包含 serviceusage.quotas.update 权限:

系统如何强制执行自定义配额

在您设置自定义配额后,BigQuery 会在您超出此配额时返回错误。

如果您超出项目级自定义配额,BigQuery 会返回以下 usageQuotaExceeded 错误:

Custom quota exceeded: Your usage exceeded the custom quota for
QueryUsagePerDay, which is set by your administrator. For more information,
see https://cloud.google.com/bigquery/cost-controls

如果一位用户超出用户级自定义配额,BigQuery 会返回 usageQuotaExceeded 错误并给出不同的错误消息:

Custom quota exceeded: Your usage exceeded the custom quota for
QueryUsagePerUserPerDay, which is set by your administrator. For more information,
see https://cloud.google.com/bigquery/cost-controls

如果您在查询中使用 _PARTITIONTIME_TABLE_SUFFIX 过滤条件,可能会意外收到 quotaExceeded 错误。目前,当 BigQuery 在检查您的查询以了解您是否会超出自定义配额时,会忽略查询中的 _PARTITIONTIME_TABLE_SUFFIX 过滤条件。

示例

假设您为具有 10 个用户(其中一个是服务帐号)的项目设置了以下自定义配额:

  • 项目级:每天 50 TB
  • 用户级:每天 10 TB

下表介绍了这 10 个用户在一天中运行查询后的剩余配额。

用量 剩余配额
10 个用户均查询 4 TB 项目级:剩余 10 TB。
用户级:每个用户剩余 6 TB,但总共不超过 10 TB。
服务帐号另外查询了 6 TB 项目级:剩余 4 TB。
用户级:该服务帐号无法再使用 BigQuery。其他每个用户剩余 6 TB,但总共不超过 4 TB。
一个用户另外查询了 4 TB 项目级:剩余 0 TB。
用户级:剩余多个 TB,但所有用户都无法使用 BigQuery,因为已超出项目级配额。

由于已没有剩余配额,因此该项目中的任何人均无法再使用 BigQuery。

常见问题解答

客户可以自行预配自定义配额吗?

可以。客户可以在 Google Cloud Platform Console 页面上自行预配配额。

如何了解自己的自定义配额水平?

您可以在 Google Cloud Platform Console 页面上查看配额水平。

系统何时重新补充我的自定义配额?

每日配额会在美国太平洋时间零点重置。

如果我超出了自定义配额,但想重置该配额,该怎么做?

您可以通过另一个项目(该项目可以访问您的数据集,并且未设置自定义配额或尚未超出配额)运行查询。

自定义配额是主动式还是被动式?换句话说,如果我有 10 TB 的配额,可以运行 11 TB 的查询吗?

自定义配额是主动式的,因此配额为 10 TB 时,无法运行 11 TB 的查询。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面