【发布时间】:2015-12-01 15:56:51
【问题描述】:
我正在尝试使用以下代码将数据插入 Big Query。但是,我收到错误“缺少必需的参数”。
function runQuery() {
var projectId = 'xxxxxxx';
var datasetId = 'Registration_Funnel_Test';
var tableId = 'reg_funnel_test_';
var date = '2015-11-05';
var tableDate = date.split('-').join('');
var bigQueryQuery = {
query: 'SELECT'+
'date,'+
'CONCAT([fullVisitorId], STRING([visitId])) as sessionId,'+
'hits.eventInfo.eventAction as event_action,'+
'FROM (TABLE_DATE_RANGE([82514188.ga_sessions_],TIMESTAMP("'+date+'"),'
TIMESTAMP("'+date+'"))) '+
'WHERE hits.eventInfo.eventAction IN ("Started Registration",'+
"Completed Registration","Made First Deposit")'+
'GROUP EACH BY date, sessionId, event_action;'
};
var job = {
configuration: {
query: {
query: bigQueryQuery,
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId+tableDate
},
'allowLargeResults': true,
'createDisposition': 'CREATE_IF_NEEDED',
'writeDisposition': 'WRITE_TRUNCATE'
}
}
};
var jobResult = BigQuery.Jobs.insert(job, projectId);
Logger.log(jobResult.status.state);
Logger.log(jobResult.status);
}
抛出错误的代码行是var jobResult = BigQuery.Jobs.insert(job, projectId);
可以在https://cloud.google.com/bigquery/docs/reference/v2/jobs/insert 找到 Google 文档,但我就是看不到问题所在。我有一个更复杂的例子,它使用这种方法并且它有效,所以我没有选择。任何帮助将不胜感激。
【问题讨论】:
-
您上面的代码似乎有些奇怪...... 'var bigQueryQuery {' 行有一个左大括号,但我没有看到相应的右大括号。看起来它正在设置一个“查询”字段,但它应该只是一个字符串。
-
谢谢@JordanTigani。我通过添加右大括号修改了上面的代码错误。我现在尝试只使用一个字符串。
-
你是如何创建 projectId 的?
标签: google-apps-script google-bigquery