Данный скрипт производит экспорт выбранных таблиц из Google Big Query в Google Storage. После чего производит копирование экспортированных данных в Object Storage Яндекс Облака. Необходимые пререквизиты:
- По одному бакету на стороне Google Storage и Yandex Object Storage
- Сервисный аккаунт на стороне Google Cloud, с доступами к проекту BigQuery (editor на проекте BQ) и бакету GS (uploader)
- Сервисный аккаунт на стороне Yandex Cloud с доступом к бакету OBS (uploader)
- Для сервисного акканута GCP подготовленный json файл с credentials
- Для сервисного аккаунта YandexCloud - access key
Последовательность шагов:
- Необходимо скачать утилиты CLI google-cloud-sdk: https://cloud.google.com/sdk/docs/install
- Данный скрипт использует только утилиту gsutil, но для ее работы необходимо провести аутентификацию в gcloud CLI: https://cloud.google.com/sdk/docs/authorizing#authorizing_with_a_service_account
- Необходимо установить Google BigQuery Python SDK: https://github.com/googleapis/python-bigquery
- Для работы пакета bigquery необходимо передать путь к json-файлу в переменной окружения GOOGLE_APPLICATION_CREDENTIALS
- Для работы утилиты gsutil необходимо заполнить своими параметрами файл .boto и передать путь к нему в переменной окружения BOTO_CONFIG
- Обязательные аргументы для запуска скрипта: --bq_project, --gs_bucket, --bq_location=US, --yc_bucket
- Не обязательный аргумент --gsutil_path указывается в случае, если gsutil не прописан в переменной PATH