Python で Google Firebase の Realtime Database (リアルタイムデータベース), Google Firebase Storage を使ってみる(pyrebase を使用)
【関連する外部ページ】 https://firebase.google.com/docs/web/setup
【目次】
前準備
Python のインストール(Windows上)
注:既にPython(バージョン3.12を推奨)がインストール済みの場合は,この手順は不要である.
- コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 以下のコマンドを順次実行し,Pythonをインストールする(下のコマンドにより Python 3.12 がインストールされる).
【関連する外部サイト】
【サイト内の関連ページ】
- Python詳細ガイド:Pythonまとめ »
Git のインストール(Windows 上)
Gitは,ソフトウェア開発におけるソース管理を実現する,分散型バージョン管理システムである.
インストールされるGitは 「Git for Windows」として知られ, GitとMinGWを統合した開発環境である.
- コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択\ )
- 以下のコマンドを順次実行し,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 の仮想環境の作成
- これから作成するPython の仮想環境の名前とPythonのバージョンを設定する
- Python の仮想環境の名前: pyrebase
- Pythonのバージョン: 2.7
- Windows のコマンドプロンプトを起動する.
- 事前に Python をインストールしておく.
以下のコマンドを実行する.
conda create -n pyrebase python=2.7
- Python 環境の作成を確認
conda info -e
これにより,既存のPython環境と, 新しく作成したPython環境(Python のバージョン 2.7,名前は pyrebase)が共存する環境が整った.
Windows で MPIR のインストール
- Windows でコマンドプロンプトを実行
- ダウンロード用のディレクトリを作成
mkdir c:\tools cd c:\tools rmdir /s /q mpir
- MPIR をダウンロード
【参考リンク】
http://mpir.org/downloads.html
(現在は公開を終了している)
cd c:\tools git clone https://github.com/BrianGladman/mpir.git mpir
Pythonパッケージ thisbejim/Pyrebase のインストール方法
GitHub で公開されているthisbejim/Pyrebaseの詳細なインストール手順を解説する
- Windows でコマンドプロンプトを起動
- thisbejim/Pyrebase の依存パッケージをインストール
インストールの完了まで待機する.エラーメッセージが表示されていないことを確認する
pip install -U requests==2.11.1 protobuf pytest future ply dill pyreadline pip install -U google-gax==0.12.5 requests-toolbelt==0.7.0 gcloud==0.17.0 oauth2client==3.0.0
- thisbejim/Pyrebase のインストール
mkdir c:\pytools cd c:\pytools rmdir /s /q Pyrebase
cd c:\pytools git clone https://github.com/thisbejim/Pyrebase cd Pyrebase python setup.py build python setup.py install
- インストールの完了確認
エラーメッセージが表示されていないことを確認する
Realtime Database プロジェクトの作成手順
- Firebase の公式サイトにアクセス
https://firebase.google.com/?hl=ja
※ Google アカウント(IDとパスワード)が必要となる
- 「スタートガイド」を選択
- 「プロジェクトを追加」を選択
※ 画面が応答しない場合は,Webブラウザでサインアウトし,再度ログインして試す
- プロジェクトの基本設定
プロジェクト名: 識別しやすい任意の名前を設定
アナリティクスと課金の地域: 日本を選択
利用規約: 内容を確認し,同意できる場合のみチェック(同意できない場合は Firebase の利用を見送る)
- 「次へ」を選択
- 設定内容の確認
料金プランが「Spark プラン」(無料プラン)であることを確認し, データベースを利用するため「Database」を選択する
- Realtime Database を作成するため,「データベースを作成」を選択する
- セキュリティルールの設定
開発環境での試用のため「テストモードで開始」を選択し,「有効にする」をクリックする
- データベースの作成完了を確認
これでセットアップが完了した
Firebase Storage の利用方法
- Firebase にアクセス
- 「スタートガイド」を選択
- 利用するプロジェクトを選択
- Storage の設定
Storage タブで「ルール」を以下のように設定する.
注意:この設定ではファイルが公開される.個人情報や著作権のある素材は絶対にアップロードしないこと.
- プロジェクト設定の確認
- 認証情報の確認
表示されるプロジェクトIDとウェブAPIキーは後で使用するため,メモしておく
- Pythonでの実装
IPythonでpyrebase環境を使用する
※ Windows では「spyder(pyrebase)」を選択する
※「spyder(pyrebase)」が存在しない場合は, 前述の「conda install -y spyder」以降の手順を再実行する
※ メニューから起動できない場合は,コマンドプロンプトで以下を実行:
activate pyrebase spyder
以下のコードでファイルの操作が可能である.
C:/image/126.pngは実在するファイルパスに変更する必要がある
import pyrebase config = { 'apiKey': '<ウェブAPIキー>', 'authDomain': '<プロジェクトID>.firebaseapp.com', 'databaseURL': 'https://<プロジェクトID>.firebaseio.com', 'storageBucket': '<プロジェクトID>.appspot.com' } firebase = pyrebase.initialize_app(config) photo_path = 'C:/image/126.png' storage = firebase.storage() storage.child('image/126.png').put(photo_path) print( storage.child('image/126.png').get_url(token=None) ) storage.child('image/126.png').download('C:/image/hoge.png')
エラーが発生していないことを確認する
- アップロードの確認
Firebase コンソールのStorage タブでファイルが正常にアップロードされていることを確認できる