Pythonで Google Firebase の Realtime Database(リアルタイムデータベース)を効率的に活用する方法(ozgur/python-firebase 使用)
Google Firebase の Realtime Database(リアルタイムデータベース)の Python での活用方法について,技術的な観点から解説を行います.
【目次】
【関連する外部ページ】:
- https://github.com/ozgur/python-firebase
環境構築と前準備
Python 3.12 のインストール
インストール済みの場合は実行不要。
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。
REM Python をシステム領域にインストール
winget install --scope machine --id Python.Python.3.12 -e --silent
REM Python のパス設定
set "PYTHON_PATH=C:\Program Files\Python312"
set "PYTHON_SCRIPTS_PATH=C:\Program Files\Python312\Scripts"
echo "%PATH%" | find /i "%PYTHON_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_PATH%" /M >nul
echo "%PATH%" | find /i "%PYTHON_SCRIPTS_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_SCRIPTS_PATH%" /M >nul
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
AI エディタ Windsurf のインストール
Pythonプログラムの編集・実行には、AI エディタの利用を推奨する。ここでは,Windsurfのインストールを説明する。
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行して、Windsurfをシステム全体にインストールする。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。
winget install --scope machine Codeium.Windsurf -e --silent
【関連する外部ページ】
Windsurf の公式ページ: https://windsurf.com/
Gitのインストール
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。
REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent
REM Git のパス設定
set "GIT_PATH=C:\Program Files\Git\cmd"
if exist "%GIT_PATH%" (
echo "%PATH%" | find /i "%GIT_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%GIT_PATH%" /M >nul
)
python-firebase の導入方法
- Windows環境でコマンドプロンプトを起動
- python-firebaseの効率的なインストール手順
コマンドプロンプトにて以下のコマンドを実行
pip install -U requests pip install -U git+https://github.com/ozgur/python-firebase # pip install -U python-firebase
- firebase-toolsの最新バージョンへの更新
* npmが未導入の場合は,「Node.js Windows版のインストールガイド」を参照してください.
npm install -g npm npm install -g firebase-tools
- システム動作の確認手順
- Windows環境からFirebaseへの認証とログイン
firebase login
新規にコマンドプロンプトを起動し,次のコマンドを実行
- 「firebase list」による既存プロジェクトIDの確認
表示されるプロジェクトID一覧から,使用するプロジェクトIDを正確に特定してください.
firebase list
以降の説明では,プロジェクトIDを「my-project-abcde」として解説を進めます.
- まず,Webブラウザにて以下のURLにアクセスし,データベースの状態を確認
「my-project-abcde」は,実際に使用するプロジェクトIDに適切に置き換えてください.
https://my-project-abcde.firebaseio.com
- Pythonプログラムの実行確認手順
Python開発環境として,統合開発環境やコンソール(Jupyter Qt Console,Spyder,PyCharm,PyScripterなど)の活用を推奨します.
「my-project-abcde」は実際のプロジェクトIDに正確に変更してください.
resultオブジェクトへのJSONデータの格納状態を「print(result)」により確認します.
from firebase import firebase firebase = firebase.FirebaseApplication('https://my-project-abcde.firebaseio.com', None) result = firebase.get('/', None) print(result)
- Windows環境からFirebaseへの認証とログイン
Firebaseへのデータ登録と操作
以下の3件のデータをPOSTメソッドにより登録します.
1 orange 50 1 apple 100 1 apple 150
- Pythonプログラムの実行手順
効率的な実行環境として 「IPythonシェル」を使用します.
* Anaconda3に標準搭載されているspyderを起動し,IPythonコンソールを活用することが効率的です.
「my-project-abcde」は実際のプロジェクトIDに正確に置き換えてください.
POSTメソッドを3回連続で実行します.
from firebase import firebase firebase = firebase.FirebaseApplication('https://my-project-abcde.firebaseio.com', None) result = firebase.post('/products', "{'id': '1'}, {'name': 'orange'}, {'price': '50'}") result = firebase.post('/products', "{'id': '2'}, {'name': 'apple'}, {'price': '100'}") result = firebase.post('/products', "{'id': '3'}, {'name': 'apple'}, {'price': '150'}")
JSONデータの正確な格納状態を確認します.
from firebase import firebase firebase = firebase.FirebaseApplication('https://my-project-abcde.firebaseio.com', None) result = firebase.get('/products', None) print(result)