Pythonで Google Firebase の Realtime Database(リアルタイムデータベース)を効率的に活用する方法(ozgur/python-firebase 使用)

Google Firebase の Realtime Database(リアルタイムデータベース)の Python での活用方法について,技術的な観点から解説を行います.

目次

関連する外部ページ】:

環境構築と前準備

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 の導入方法

  1. Windows環境でコマンドプロンプトを起動
  2. python-firebaseの効率的なインストール手順

    コマンドプロンプトにて以下のコマンドを実行

    pip install -U requests
    pip install -U git+https://github.com/ozgur/python-firebase
    # pip install -U python-firebase
    
  3. firebase-toolsの最新バージョンへの更新

    * npmが未導入の場合は,「Node.js Windows版のインストールガイド」を参照してください.

    npm install -g npm
    npm install -g firebase-tools
    
  4. システム動作の確認手順
    1. Windows環境からFirebaseへの認証とログイン
      firebase login

      新規にコマンドプロンプトを起動し,次のコマンドを実行

    2. 「firebase list」による既存プロジェクトIDの確認

      表示されるプロジェクトID一覧から,使用するプロジェクトIDを正確に特定してください.

      firebase list
      

      以降の説明では,プロジェクトIDを「my-project-abcde」として解説を進めます.

    3. まず,Webブラウザにて以下のURLにアクセスし,データベースの状態を確認

      my-project-abcde」は,実際に使用するプロジェクトIDに適切に置き換えてください.

      https://my-project-abcde.firebaseio.com
      
    4. Pythonプログラムの実行確認手順

      Python開発環境として,統合開発環境やコンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripterなど)の活用を推奨します.

      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)
      

Firebaseへのデータ登録と操作

以下の3件のデータをPOSTメソッドにより登録します.

1 orange 50
1 apple 100
1 apple 150
  1. 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)