Найти в Дзене
JavaKruzh

Как настроить firebase_admin с python

Оглавление

Недавно был опыт с подключением базы данных, используя firebase_admin (realtime database). Заметил, что по данной теме нет ни одного русскоязычного топика. Поэтому предлагаю такой вот пошаговый алгоритм , чтобы помочь начать работу с firebase_admin:

Настройка и подключение firebase_admin:


1. Для начала заходим в терминал и качаем библиотеку firebase_admin, выполнив следующую команду:

pip install firebase_admin
-2

2. Переходим на сайт https://console.firebase.google.com и создаем проект Firebase. Ниже карусель скринов, как создать проект:

3. Теперь нам нужно создать приватный ключ для привязки нашего будущего кода к Firebase. Для этого слева нажимаем на шестеренку и на пункт Project settings.

-3

Затем переходим в вкладку "Service Accounts" (Сервисные аккаунты) и внизу нажмаем на кнопку "Generate new private key" (Создать новый приватный ключ), чтобы сгенерировать новый файл ключа для сервисного аккаунта. Это загрузит JSON-файл, содержащий учетные данные вашего проекта Firebase.

-4

Сохраняем скачанный JSON-файл на компьютере под названием serviceAccountKey.json

4. Теперь переходим во вкладку Build слева, затем нажимаем Realtime Databse и Create Database. В открывшемся меню сразу нажимаем next (там расположение сервера), в следующем окне выбираем Start in test mode и жмем Enable.

-5

В итоге мы должны увидеть ссылку на нашу базу данных:

-6

5. Создаем новый проект в любимой среде разработки python. И сразу в этот проект помещаем наш скачанный JSON-файл:

-7

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'
}
})

 

Наш код теперь выглядят так:

-8

Запускаем код, проверяем базу данных:

-9

Получение данных из firebase_admin:


Чтобы получить данные из базы данных, используем метод get():

data = ref.get()


Данные получаем в виде словаря. Обрабатываем данные и получаем нашу информацию:

-10

Более подробно можно разобраться в документации по адресу:

https://firebase.google.com/docs/reference/admin/python/firebase_admin