【问题标题】:Define BigQuery table location in Google Apps Script在 Google Apps 脚本中定义 BigQuery 表位置
【发布时间】:2020-10-08 13:41:05
【问题描述】:

我正在尝试从 Google Apps 脚本中的 BigQuery 表中读取数据。目标表位于欧盟区域,但脚本默认请求美国。

代码

  var request = {
    query: 'SELECT * FROM `table-name`'
  };
  var queryResults = BigQuery.Jobs.query(request, projectId);

错误:

GoogleJsonResponseException:对 bigquery.jobs.query 的 API 调用失败并出现错误:未找到:在美国位置找不到数据集

【问题讨论】:

    标签: google-apps-script google-bigquery google-workspace bq


    【解决方案1】:

    引号``是个问题,表名应该不带引号:

     var projectId = "project_id"
     var request = {    
            query: 'SELECT * FROM data_set.table ',
          };
     var queryResults = BigQuery.Jobs.query(request, projectId);
    

    【讨论】:

      【解决方案2】:

      如果您有正确的数据集来限定表名,则您的查询预计会自动路由到数据所在的位置,例如:

      SELECT * FROM `myDatasetInEu.table-name`
      

      【讨论】:

      • 这种带 `` 的表格不起作用。 `` 是错误的原因。
      • 我怀疑这是根本原因。如果您的表名中确实有破折号,则必须用反引号引用您的表名。我相信您在原始问题中过度简化了查询。
      猜你喜欢
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多