使用应用脚本在Big Query中创建视图|错误:对bigquery.tables.insert的API调用失败,并显示错误:缺少必需的参数(第21行

问题描述 投票:0回答:1

我正在尝试通过应用脚本在Big查询中创建视图,但是我的代码给了我这个错误:

错误:调用bigquery.tables.insert的API失败,并显示错误:缺少必需的参数(第21行...

我不确定我要去哪里错了。请帮助。

注意:我正在使用应用程序脚本创建视图,因为我必须在大查询中将视图从一个项目复制到另一个项目,但是Transfer-service仅复制表而不是视图。我对所有视图都有SQL查询,但不想在目标项目中手动运行所有这些SQL。

脚本:

function create_view() {
  var projectId='MyProjectId';
  var datasetId= 'MyDatasetName';
  var tableID='MyViewName';
  var table={
    view: {
      query:
      'My query here',
      useLegacySql: false
    },
  tableReference:{
    projectId: projectId,
    datasetId: datasetId,
    tableID: tableID,
  },

};
var queryResults = BigQuery.Tables.insert(table,projectId,datasetId);
  Logger.log(queryResults.status);
}
google-apps-script view google-bigquery
1个回答
0
投票

您发出的请求是正确的,除了一个小细节:tableID中的'd'必须像tableId中的小写。您的最终代码如下所示:

function create_view() {
  var projectId = 'MyProjectId';
  var datasetId = 'MyDatasetName';
  var tableId = 'MyViewName';
  var table={
    view: {
      query:
      'My query here',
      useLegacySql: false
    },
    tableReference:{
      projectId: projectId,
      datasetId: datasetId,
      tableId: tableId,
    },
  };

  var queryResults = BigQuery.Tables.insert(table,projectId,datasetId);
  Logger.log(queryResults.status);
}
© www.soinside.com 2019 - 2024. All rights reserved.