Перед тим, як взятися за роботу, відтворив тестовий приклад у себе, і тоді запропонував свою послугу.
Вважаю це за приклад відповідального ставлення до роботи.
Дуже вдячний та бажаю вдалої роботи!
Є скрипт, який намагається передати дані до таблиці у BigQuery. На боці БД API ввімкнутий, але при передачі запиту на запис повертає помилку, як ніби API не працює. Потрібно зробити налаштування, критерієм виконання роботи є те, що скрипт записав експериментальні дані у таблицю BigQuery. Важливою вимогою є не тільки виконати налаштування, а також пояснити, в чому була проблема, та, можливо, надати консультації щодо використання цієї зв'язки технологій у майбутньому. З іншого бокую є імовірним продовження співпраці при достягненні позитивного результату та нормальному порозумінні.
Потреба у такій роботі зумовлена тим, що я розробив та використовую деякі системи для власних потреб на базі Google Apps Script, але для майбутных завдань потрібно під'єднати більш потужний інструмент зберігання та обробки даних, яким є BigQuery.
Ответ от BigQuery: {"error":{"code":403,"message":"BigQuery API has not been used in project 896917572724 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/bigquery.googleapis.com/overview?project=896917572724 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.","errors":[{"message":"BigQuery API has not been used in project 896917572724 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/bigquery.googleapis.com/overview?project=896917572724 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.","domain":"usageLimits","reason":"accessNotConfigured","extendedHelp":"https://console.developers.google.com"}],"status":"PERMISSION_DENIED","details":[{"@type":"type.googleapis.com/google.rpc.Help","links":[{"description":"Google developers console API activation","url":"https://console.developers.google.com/apis/api/bigquery.googleapis.com/overview?project=896917572724"}]},{"@type":"type.googleapis.com/google.rpc.ErrorInfo","reason":"SERVICE_DISABLED","domain":"googleapis.com","metadata":{"service":"bigquery.googleapis.com","consumer":"projects/896917572724"}}]}}
Із цієї помилки виходить, що Ваш проєкт ще не має доступу до BigQuery API, або він був відключений
Доброго дня, поділіться скриптом, постараюсь допомогти з вашою проблемою
function uploadToBigQuery() {
// ID вашего проекта в Google Cloud
const projectId = 'technologicaltables';
// Идентификаторы Dataset и Table в BigQuery
const datasetId = 'Dispatcher';
const tableId = 'ExampleTable';
// Получение данных из Google Sheets
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Исходные данные');
const data = sheet.getDataRange().getValues();
// Преобразование данных в формат JSON для вставки в BigQuery
let rows = [];
for (let i = 1; i < data.length; i++) { // Начинаем с 1, чтобы пропустить заголовок
let row = {
json: {
"название": data[i][0],
"статус": data[i][1]
}
};
rows.push(row);
}
// Логирование данных перед отправкой
Logger.log('Отправляемые данные: ' + JSON.stringify(rows));
// Формирование запроса на вставку данных
let insertAllRequest = {
rows: rows
};
// URL для вставки данных в таблицу BigQuery
const url = 'https://bigquery.googleapis.com/bigquery/v2/projects/' + projectId + '/datasets/' + datasetId + '/tables/' + tableId + '/insertAll';
// Опции запроса
const options = {
method: 'post',
contentType: 'application/json',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
},
payload: JSON.stringify(insertAllRequest),
muteHttpExceptions: true
};
// Выполнение запроса
let response = UrlFetchApp.fetch(url, options);
let result = JSON.parse(response.getContentText());
// Логирование полного ответа от BigQuery
Logger.log('Ответ от BigQuery: ' + JSON.stringify(result));
// Проверка на ошибки
if (result.insertErrors) {
for (let i = 0; i < result.insertErrors.length; i++) {
Logger.log('Ошибка: ' + result.insertErrors[i].errors[0].message);
}
} else {
Logger.log('Данные успешно загружены в BigQuery');
}
}
Запустив ваш код і все працює, є ще певні нюанси які могли визвати таку проблему. Але це вже потрібно перевірити через віддалений доступ
8 ставок 31 липня
Інтернет-магазини та електронна комерція 55 ставок 31 липня
Парсинг даних 25 ставок 30 липня
AI та машинне навчання 51 ставка 30 липня
CMS 54 ставки 30 липня