创建自定义费用控制条件

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

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

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

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

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

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

要申请自定义配额或修改现有自定义配额,请从 Google Cloud Platform Console 页面提交申请。您能以 10 TB 为增量为查询数据设置自定义配额。您通常会在 2 到 3 个工作日内收到回复。您必须是项目所有者才能申请自定义配额。

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

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

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

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

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

Custom quota exceeded: Your project_user exceeded the custom quota for query bytes
scanned per user, 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 页面提交申请。

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

提交表单后,您会收到一封验证您的自定义配额偏好设置的确认电子邮件。

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

系统会全天定期补充每日配额,以反映这些配额在限制速率方面的意图。系统还会执行间歇性刷新,以避免在配额用完时出现长时间中断。通常情况下,系统每过几分钟就会提供更多配额,而不是每天在全局范围内补充一次配额。

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

您可以通过另一个项目(该项目可以访问您的数据集,并且未设置自定义配额或尚未超出该配额)运行查询。或者,您可以等待 15 分钟左右,以便系统为您补充部分配额。

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

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

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

发送以下问题的反馈:

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