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

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

目次

関連する外部ページ】:

環境構築と前準備

Python のインストール(Windows上)

注:既にPython(バージョン3.12を推奨)がインストール済みの場合は,この手順は不要である.

  1. コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
  2. 以下のコマンドを順次実行し,Pythonをインストールする(下のコマンドにより Python 3.12 がインストールされる).
    winget install --scope machine Python.Launcher
    winget install --scope machine Python.Python.3.12
    

【関連する外部サイト】

【サイト内の関連ページ】

Git のインストール(Windows 上)

Gitは,ソフトウェア開発におけるソース管理を実現する,分散型バージョン管理システムである.

インストールされるGitは 「Git for Windows」として知られ, GitとMinGWを統合した開発環境である.

  1. コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択\ )
  2. 以下のコマンドを順次実行し,Gitをインストールする.
    winget install --scope machine Git.Git
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machin\
    e\")"
    

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)