トップページ -> データベース研究スタート -> NoSQL データベースとインターネットストレージ -> Python で Google Firebase の Realtime Database (リアルタイムデータベース)を使ってみる(ozgur/python-firebase を使用)
サイトマップ

Python で Google Firebase の Realtime Database (リアルタイムデータベース)を使ってみる(ozgur/python-firebase を使用)

金子邦彦研究室: データベース、人工知能(AI)、データサイエンスの融合により不可能を可能にする

Google Firebase の Realtime Database (リアルタイムデータベース) を Pythonから使ってみます。

目次

参考 Web ページ:


前準備

Python, git のインストール

以下,Windows でインストール済みであるものとして説明を続けます.


python-firebase のインストール

  1. Windows のコマンドプロンプトを開く

  2. python-firebase のインストール

    コマンドプロンプトで,次のコマンドを実行

    pip install -U requests 
    pip install -U git+https://github.com/ozgur/python-firebase
    # pip install --upgrade python-firebase
    

  3. firebase-tools を最新版に更新する

    ※ npm がない!というときは、「Node.js Windows 版のインストール」の Web ページの手順でインストールする

    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 プログラムを動かす

      そのために, PyCharmなどにある Python コンソールを使う

      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 にデータを POST してみる

次の 3つ のデータを POST してみる

1 orange 50
1 apple 100
1 apple 150
  1. Python プログラムを動かす

    そのために, 「IPython シェル」を使う.

    Anacondaに入っている開発環境 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)