我需要从Drive上传数据到BigQuery。 我找到了这两个解释(Upload CSV,BQ Jobs),
但是,我不想每次都重新定义架构。在手动上传中,您可以检查“自动检测”,但在脚本中我找不到如何操作。
由于
答案 0 :(得分:4)
使用jobs.load
API,您正在寻找configuration.load.autodetect
选项。应用程序脚本应该有一个类似命名的设置。
答案 1 :(得分:2)
谢谢艾略特。
以下是更新后的请求:
var file = DriveApp.getFileById(csvFileId);
var data = file.getBlob().setContentType('application/octet-stream');
// Create the data upload job.
var job = {
configuration: {
load: {
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
},
skipLeadingRows: 1,
autodetect: true
}
}
};
job = BigQuery.Jobs.insert(job, projectId, data);