Создаем простой ETL на Python часть 1.
В этой статье подробно рассмотрим процесс создания простейшего ETL-инструмента на Python, который будет запускаться по расписанию и копировать данные из облачной базы данных на Postgres в Google Sheets.
Сфера применения? Например, у вас агентство. И вы храните рабочую информацию о проектах в единой БД. Но заказчикам надо сбрасывать отчеты. Давать доступ к своей БД не вариант, а вот сбросить данные в Google Sheets и причем делать это регулярно - вполне себе решение.
Или, допустим, у вас работают парсеры, которые загружают собранную информацию в БД на облаке. Опять же, результаты парсинга надо предоставить заказчику, но доступ к БД давать не хочется. Выход - выгрузить результаты в Google Sheets и дать доступ к ним заказчику.
Настраиваем сервисный аккаунт.
Зайдя в консоль GCP открываете список проектов и выбираете Создать новый проект. придумываете ему имя. Не забудьте переключиться в этот проект.
Следующий шаг - придумываем имя сервисного аккаунта, который будет подключаться к Sheets заказчика. В блоке ниже отобразится идентификатор аккаунта. Скопируйте его в блокнот.
Дальше может быть два варианта. Либо вы даете доступ сервисному аккаунту к Sheets своего Google-аккаунта, а затем просто шерите ссылку на итоговую таблицу заказчику.
Либо высылаете идентификатор сервисного аккаунта закачику и он дает ему доступ к его Google Sheets, а итоговую таблицу он уже шерит для вас. (В случае вопросов от заказчика, у вас все-равно должен быть к ней доступ)
Дальше я покажу первый вариант.
В Sheets создаем пустую таблицу/таблицы, в которую будут сбрасываться данные. Назначаем таблице имя. Имя копируем, т.к. потом его надо будет вставить в Python-скрипт.
Галочку Уведомлять пользователей можно не ставить. в конце жмем синюю кнопку
Открыть доступ. На этом все.
Комментарии
Отправить комментарий