Реализовать в режиме онлайн парсинг данных Google Sheets по API и добавления/обновления/удаления в таблицу на Postgres
-
Получать данные с документа при помощи Google API, сделанного в Google Sheets (необходимо копировать в свой Google аккаунт и выдать самому себе права).
-
Данные должны добавляться в БД, в том же виде, что и в файле –источнике, с добавлением колонки «стоимость в руб.»
a. Необходимо создать DB самостоятельно, СУБД на основе PostgreSQL.
b. Данные для перевода $ в рубли необходимо получать по курсу ЦБ РФ.
-
Скрипт работает постоянно для обеспечения обновления данных в онлайн режиме (необходимо учитывать, что строки в Google Sheets таблицу могут удаляться, добавляться и изменяться).
-
Упаковка решения в docker контейнер
-
Разработка функционала проверки соблюдения «срока поставки» из таблицы. В случае, если срок прошел, скрипт отправляет уведомление в Telegram.
Для запуска скрипта требуется добавить (без этого не будет работать):
- credentials_file - это json файл из Google API.
- Данные по DATABASE в виде словаря (как пример ниже):
DATABASE = {
'drivername': drivername,
'host': 'localhost',
'port': '5432',
'username': username,
'password': password,
'database': database
}
- token_tg - это токен Телеграм для отправки сообщения, если дата поставки прошла. Получаете через бота @BotFather.
- chat_id - это тоже для Телеграм. Если не знаете, то используйте бота в Телеграм @userinfobot или другой вариант.
Установите Docker, используя инструкции с официального сайта:
- для Windows и MacOS
- для Linux. Отдельно потребуется установть Docker Compose
Склонируйте репозиторий git clone https://github.com/ivbbest/google_sheets.git в текущую папку.
Создайте .env файл в корне репозитория:
- POSTGRES_DB=database
- POSTGRES_USER=username
- POSTGRES_PASSWORD=secret
Пример .env:
- POSTGRES_DB=database
- POSTGRES_USER=username
- POSTGRES_PASSWORD=secret
Внесите при необходимости корректировки в переменные окружения.
В корне репозитория выполните команду:
docker-compose buildПри первом запуске данный процесс может занять несколько минут.
docker-compose upДля остановки контейнеров выполните команду:
docker-compose stopdocker-compose downdocker-compose psdocker-compose images- Склонируйте репозиторий
git clone https://github.com/ivbbest/google_sheets.gitв текущую папку. - В консоли перейти в папку app
cd app. - Набрать команду
python3 google_sheets.py.