Этот репозиторий содержит скрипты для скачивания данных из репозитория на Github и загрузки их в Firebase.
Скрипт download.py использует библиотеки PyGithub и requests для загрузки сжатого архива репозитория GitHub, извлечения его содержимого в локальную директорию и дальнейшей обработки данных.
Скрипт upload_md.py загружает файлы Markdown из указанной директории в Firestore, облачную базу данных NoSQL от Firebase. Скрипт создает объект batch для загрузки данных в Firestore и коммитит каждую партию данных после того, как размер партии достигает 500 записей.
Скрипт upload_assets.py загружает файлы из указанной директории в Firebase Storage. Скрипт создает ссылку на бакет по умолчанию в Firebase Storage и загружает каждый файл в указанную директорию внутри бакета.
Для запуска этих скриптов необходимы следующие библиотеки Python:
- PyGithub
- firebase-admin
Вы можете установить их с помощью следующей команды:
pip install -r requirements.txtДля использования Firebase и GitHub вам необходимо предоставить учетные данные.
Для использования скриптов необходимо предоставить персональный токен доступа. Вы можете получить Github Personal Access Token и установить его как переменную окружения GITHUB_TOKEN или заменить переменную github_token в скрипте download.py на свой персональный токен.
- Создайте проект в Firebase и загрузите файл учетных данных служебной учетной записи в формате JSON с именем
credentials.json. - Установите путь к этому файлу в переменную
credв скриптахupload_md.pyиupload_assets.py. - Установите имя вашего хранилища Firebase Storage в параметре
storageBucketпри инициализации Firebase в скриптеupload_assets.py.
Для использования этих скриптов вам необходимо изменить код в соответствии с вашими конкретными потребностями.
- Установите переменную
github_tokenна ваш персональный токен доступа для GitHub. - Установите переменные
repo_owner,repo_nameиbranch_nameна репозиторий GitHub, который вы хотите загрузить. - Запустите скрипт с помощью следующей команды:
python download.py- Установите путь к корневой директории загруженного репозитория в переменной
root_path. - Установите имя целевой директории, содержащей файлы Markdown, в переменной
target_folder. - Запустите скрипт с помощью следующей команды:
python upload_md.py- Установите путь к корневой директории загруженного репозитория в переменной
root_path. - Установите имя целевой директории, содержащей ресурсы, в переменной
target_folder. - Запустите скрипт с помощью следующей команды:
python upload_assets.pyС помощью этих трех скриптов на Python вы можете легко загружать данные из репозитория GitHub и выгружать их в Firebase. Используйте это как отправную точку для создания более сложных конвейеров обработки данных или рабочих процессов автоматизации.