Недавно был опыт с подключением базы данных, используя firebase_admin (realtime database). Заметил, что по данной теме нет ни одного русскоязычного топика. Поэтому предлагаю такой вот пошаговый алгоритм , чтобы помочь начать работу с firebase_admin:
Настройка и подключение firebase_admin:
1. Для начала заходим в терминал и качаем библиотеку firebase_admin, выполнив следующую команду:
pip install firebase_admin
2. Переходим на сайт https://console.firebase.google.com и создаем проект Firebase. Ниже карусель скринов, как создать проект:
3. Теперь нам нужно создать приватный ключ для привязки нашего будущего кода к Firebase. Для этого слева нажимаем на шестеренку и на пункт Project settings.
Затем переходим в вкладку "Service Accounts" (Сервисные аккаунты) и внизу нажмаем на кнопку "Generate new private key" (Создать новый приватный ключ), чтобы сгенерировать новый файл ключа для сервисного аккаунта. Это загрузит JSON-файл, содержащий учетные данные вашего проекта Firebase.
Сохраняем скачанный JSON-файл на компьютере под названием serviceAccountKey.json
4. Теперь переходим во вкладку Build слева, затем нажимаем Realtime Databse и Create Database. В открывшемся меню сразу нажимаем next (там расположение сервера), в следующем окне выбираем Start in test mode и жмем Enable.
В итоге мы должны увидеть ссылку на нашу базу данных:
5. Создаем новый проект в любимой среде разработки python. И сразу в этот проект помещаем наш скачанный JSON-файл:
6. Теперь пришло время кода! Импортируем модули:
import firebase_admin
from firebase_admin import credentials, db
8. Инициализируем приложение Firebase с сервисными учетными данными. Копируем из 4 пункта полученную ссылку на свою базу данных и вставляем сюда:
cred = credentials.Certificate('путь/к/serviceAccountKey.json')
firebase_admin.initialize_app(cred, {
'databaseURL': 'ВАШ-АДРЕС-БАЗЫ-ДАННЫХ-FIREBASE'
})
9. Получаем доступ к Firebase Realtime Database с помощью модуля db:
ref = db.reference()
Что должно получиться:
Запись данных в firebase_admin:
Выполним операцию записи данных с использованием объекта ref.
Во-первых, зададим корневой каталог с помощью команды:
users_ref = ref.child('users')
Затем заполним нашу базу данными пользователей. Заполнять нужно в формате JSON
users_ref.set({
'JavaKruzh': {
'date_of_birth': 'april 10, 2024',
'full_name': 'Java Kruzh'
},
'krozhkov': {
'date_of_birth': 'September 7, 1900',
'full_name': 'Konstantin Rozhkov'
}
})
Наш код теперь выглядят так:
Запускаем код, проверяем базу данных:
Получение данных из firebase_admin:
Чтобы получить данные из базы данных, используем метод get():
data = ref.get()
Данные получаем в виде словаря. Обрабатываем данные и получаем нашу информацию:
Более подробно можно разобраться в документации по адресу:
https://firebase.google.com/docs/reference/admin/python/firebase_admin