因此,我對所有這一切都很陌生,包括BigQuery和AppScript(一般編碼..),我正在學習,所以也許我的問題可能看起來很愚蠢。請聽我說。將新的Google表格數據添加到BigQuery表
我已經創建了一個腳本,可以從我的BigQuery表中的一個BigQuery表中將10個最新數據點加載到Google表格文檔中。現在,當我手動將新數據點添加到此表的底部時,我希望有一個加載腳本運行,將該新數據上傳回BigQuery,並將其附加到我的原始表中。我在某處讀到,只要插入一張新表,數據就會自動追加,如果提到的表已經存在。但是,我還沒有測試過的部分呢,因爲我停頓在了前面行的錯誤.. 下面是負載腳本我已經從鬆散https://developers.google.com/apps-script/advanced/bigquery
function loadCsv() {
var projectId = 'XX';
var datasetId = 'YY';
var tableId = 'daily_stats_testing';
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet().getRange("A12:AK10000").getValues();
var data = sheet.getBlob().setContentType('application/octet-stream');
var job = {
configuration: {
load: {
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
},
skipLeadingRows: 1
}
}
};
job = BigQuery.Jobs.insert(job, projectId, data);
var Msg = "Load started. Check status of it here:" +
"https://bigquery.cloud.google.com/jobs/%s", projectId
Logger.log(Msg);
Browser.msgBox(Msg);
return;
}
現在的錯誤,我得到複製(在各種各樣的形式,因爲我一直在測試東西)是BigQuery.Jobs函數只接受Blob數據,並且來自我當前工作表中的數據(使用A12標記第一個手動推算數據的行爲)不是Blob可識別的數據集。
是否有任何方法(任何函數?)我可以使用它將直接轉換選定的數據範圍,並使其與Blob兼容? 有沒有人有任何建議如何更有效地做到這一點?
不幸的是,腳本必須直接從當前打開的Spreadsheet表單中加載,因爲它是我將運行的更大腳本的一部分。希望這不是太大的阻礙!在您的幫助:)
謝謝,這似乎工作! – nikooters