Javascript 使用Google脚本在BigQuery中追加新记录
我需要从Google脚本向一个大的查询表添加(追加)记录。我寻找了类似的问题,并得出了以下代码(我还激活了BigQueryAPI的高级服务): 我得到一个错误:“mediaData参数只支持上传Blob类型。” 我知道我可以使用此方法从CSV文件中添加数据,但我想添加一个数组。可能吗?问题:Javascript 使用Google脚本在BigQuery中追加新记录,javascript,google-apps-script,google-bigquery,Javascript,Google Apps Script,Google Bigquery,我需要从Google脚本向一个大的查询表添加(追加)记录。我寻找了类似的问题,并得出了以下代码(我还激活了BigQueryAPI的高级服务): 我得到一个错误:“mediaData参数只支持上传Blob类型。” 我知道我可以使用此方法从CSV文件中添加数据,但我想添加一个数组。可能吗?问题: BigQuery.Jobs接受blob数据。所以你需要它以水滴的形式出现 修正: 使用newBlob将数据转换为blob格式 输出: 您现在可以在BigQuery.Jobs上使用数据,因为它现在
接受blobBigQuery.Jobs
。所以你需要它以水滴的形式出现数据
- 使用
将数据转换为blob格式newBlob
- 您现在可以在
上使用数据,因为它现在是Blob类型BigQuery.Jobs
const data = {"Name":"TEST","Key":"TEST"};
var projectId = 'myid'
var datasetId = 'mydatasetid'
var tableId = 'mytableid'
var job = {
configuration: {
load: {
writeDisposition:'WRITE_APPEND',
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
}
}
}
};
var runJob = BigQuery.Jobs.insert(job, projectId, data);
function test() {
// data is currently an object
var data = {"Name":"TEST","Key":"TEST"};
// newBlob only accepts string, so convert data to string
data = Utilities.newBlob(JSON.stringify(data), 'application/octet-stream');
// data below is now of type Blob object
Logger.log(data);
}