我正在尝试通过应用脚本在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);
}
您发出的请求是正确的,除了一个小细节: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);
}