如何更改bigquery API中的计费层选项

时间:2016-05-18 10:51:42

标签: javascript google-apps-script google-api google-bigquery

我在谷歌应用程序脚本中使用bigquery API,如:

  try {  
   var queryRequest = BigQuery.newQueryRequest();
   queryRequest.setQuery(sql).setTimeoutMs(100000);
   queryResults = BigQuery.Jobs.query(queryRequest, projectNumber);
    // Browser.msgBox(queryRequest);
  }
  catch (err) {
    Logger.log(err);
    Browser.msgBox(err);
    return;
  }
  // Check on status of the Query Job : MONTHLY 
  while (queryResults.getJobComplete() == false) {
    try {
      queryResults = BigQuery.Jobs.getQueryResults(projectNumber, queryResults.jobId);
      //queryResults = BigQuery.Jobs.getQueryResults(projectNumber, job.id);
    }
    catch (err) {
      Logger.log(err);
      Browser.msgBox(err);
      return;
    }
  }

它给了我:

Exception: Query exceeded resource limits for tier 1. Tier 3 or higher required.

我在cloud.bigquery上看到类似的错误,在bigquery控制台中编写查询时,我可以通过选择计费层作为无限制来删除它但我不知道如何通过API(自动化方式) )。我们有什么方法可以实现它。

2 个答案:

答案 0 :(得分:1)

Jobs: getQueryResults API只检索查询作业的结果 "问题"计费层发生之前 - 当您通过Jobs: insert API呼叫查询作业时 因此,应使用configuration.query.maximumBillingTier属性

在此处应用控制最大结算层

答案 1 :(得分:0)

您可以尝试在Developer Console申请更高的配额。 您可以转到 Google API - > BigQuery API - > 配额然后选择申请更高的配额。您还可以在此处查看Pricing detailsBig Quota Policy,它为您提供传入请求的最大Bigquery限制率,并在每个项目的基础上强制执行适当的配额。