Мне нужно добавить (добавить) записи в таблицу Big Query из Google Script. Я искал похожие вопросы и придумал этот код (также я активировал Advanced Service for BigQuery API):
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);
Я получаю сообщение об ошибке: «Параметр mediaData поддерживает только типы BLOB-объектов для загрузки».
Я знаю, что могу использовать этот метод для добавления данных из файла CSV, но вместо этого я хотел бы добавить массив. Является ли это возможным?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


BigQuery.Jobs принимает blob data. Значит, он вам нужен в форме капли.newBlob для преобразования данных в форму больших двоичных объектов.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);
}
BigQuery.Jobs, так как теперь это тип Blob
Хорошо, я на самом деле пробовал это раньше, но получал ошибку. Теперь я понимаю, что получал ошибку, потому что использовал CONST, а не VAR для определения массива. Спасибо!