トップページ -> データベース関連技術 -> Google Firebase -> Python で Google Firebase の Cloud Firestore (クラウド・ファイアストア)を使ってみる
[サイトマップへ], [サイト内検索へ]

Python で Google Firebase の Cloud Firestore (クラウド・ファイアストア)を使ってみる

目次

  1. Google Firebase でできること
  2. 前準備
  3. クラウド・ファイアストア(Cloud Firestore)を扱うプロジェクトの新規作成
  4. Firebase Admin SDK を追加
  5. クエリの例

Google Firebase でできること

オンラインストレージ

[image]

データベース: Python, JavaScript と相性が良い.

[image]

その他、認証(ID,パスワード)など(セキュリティや課金に必要)

※ iOS, Android, Web で動く.使用には Google のアカウントが必要


前準備

Python, git のインストール

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


クラウド・ファイアストア(Cloud Firestore)を扱うプロジェクトの新規作成

  1. Firebase の Web ページを開く

    https://firebase.google.com/?hl=ja

    ※ このとき、google のアカウント(IDとパスワード)が必要になる可能性がある

  2. 使ってみる (GET STARTED)」をクリック

    [image]
  3. Firebase コンソールの画面に変わるので確認する

    [image]
  4. Firebase コンソールの画面で、「プロジェクトを追加」をクリック

    ※ このとき、いつまで待っても画面が変わらないというときは、Webブラウザで「サインアウト」してもう1度やり直すとうまく行くかもしれません.

    [image]
  5. プロジェクトの追加

    まず、「地域/ロケーション」を展開する

    [image]

    次のように設定する

    [image]
  6. プロジェクトの作成が終了すると、画面が変わる。「次へ」をクリック

    [image]
  7. 画面が変わるので確認.

    まず、料金プランが「Spark プラン」になっていることを確認する. Spark プランは料金無料のプラン.

    [image]
  8. クラウド・ファイアストア(Cloud Firestore)を使いたいので使いたいので、「Cloud Firestore」をクリック

    [image]
  9. クラウド・ファイアストア(Cloud Firestore)のデータベースを作成したいので、Cloud Firestore の下の「データベースを作成」をクリック

    [image]
  10. クラウド・ファイアストア(Cloud Firestore)のセキュリティルールでは、 ロックモードかテストモードを選ぶ.

    ※ ここでは、試用することにしたい(公開したら問題のあるようなデータは入れずに、手軽に試してみたい)ので、 「テストモードで開始」を選び「有効にする」をクリック

    [image]
  11. データベースの作成が始まる。しばらく待つ。

    [image]
  12. データベースの作成が終わると、画面が変わるので確認する

    [image]

この画面で、データベースの確認、コレクションの追加、ドキュメントの追加を行うことができる。

[image]

Firebase Admin SDK を追加

https://firebase.google.com/docs/admin/setup?hl=ja#initialize_the_sdk の記述に従う

サービスアカウントの認証情報をダウンロード

  1. Firebase の Web ページを開く

    https://firebase.google.com/?hl=ja

    ※ このとき、google のアカウント(IDとパスワード)が必要になる可能性がある

  2. 使ってみる (GET STARTED)」をクリック

    [image]
  3. Firebase コンソールの画面に変わるので確認する

    [image]
  4. Firebase コンソールの画面で、使用したいプロジェクトを選ぶ

    ※ このとき、プロジェクトを新規作成したいときは、「プロジェクトを追加」をクリックして、プロジェクトの新規作成を行う

    [image]
  5. プロジェクトの全般のWebページで、「Project Overview」の右横のボタンをクリック

    [image]
  6. プロジェクトの設定」をクリック。

    [image]
  7. サービスアカウント」をクリック。

    [image]
  8. Python」を選ぶ

    このとき、画面には、Firebase Admin SDK が表示される。

    [image]

    ※ この画面では、「Firebase サービスアカウントを使用し、Python プログラムで認証できる」ことが確認できる

    [image]
  9. 新しい秘密鍵の生成」をクリック

    [image]
  10. 表示を確認したのち、「キーを生成」をクリック

    [image]
  11. JSONファイルがダウンロードが始まる

    このとき、ダウンロードされたJSONファイルのファイル名を確認しておく(あとでファイル名を使用する)

    [image]

    Python 用の Firebase Admin SDK のインストール

    https://firebase.google.com/docs/admin/setup?hl=ja#initialize_the_sdk, https://firebase.google.com/docs/firestore/quickstart?hl=ja の記述に従う

    1. Windows のコマンドプロンプトを開く
    2. (オプション)Anaconda を使いたい場合には、次の操作を行う

      Anaconda を使わない場合には、次の操作は無視すること

      conda install protobuf grpcio
      
    3. Firebase Admin SDK のインストール

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

      pip install -U firebase-admin
      
    4. Python プログラムを動かす

      そのために, PyCharmなどにある Python コンソールや, Windows のPythonランチャーである「py」が便利である

      まず、下のソースコードを Python コンソールにコピー&ペーストする

      次に、Python コンソールの編集機能を使って、「H:/my-project-abcde-firebase-adminsdk-q53ez-5d420dbcf2.json」のところは、先ほどダウンロードした JSON ファイル名にすること。

      次のプログラムは、データベースの中の、「products」という名前のドキュメントについて表示を行うもの。 実行結果例も付けている。

      import firebase_admin
      from firebase_admin import credentials
      from firebase_admin import firestore
      
      cred = credentials.Certificate('H:/my-project-abcde-firebase-adminsdk-q53ez-5d420dbcf2.json')
      app = firebase_admin.initialize_app(cred) 
      
      db = firestore.client()
      ref = db.collection(u'products')
      docs = ref.stream()
      
      for doc in docs:
          print(u'{} => {}'.format(doc.id, doc.to_dict()))
      
      

      次のようにコレクションとドキュメントを作成していたとする。

      [image]

      実行結果は次の通り。

      [image]

    Web ブラウザを使って、データベースの確認、コレクションの追加、ドキュメントの追加を行いたいときの手順

    1. Firebase の Web ページを開く

      https://firebase.google.com/?hl=ja

      ※ このとき、google のアカウント(IDとパスワード)が必要になる可能性がある

    2. 使ってみる (GET STARTED)」をクリック

      [image]
    3. Firebase コンソールの画面に変わるので確認する

      [image]
    4. Firebase コンソールの画面で、使用したいプロジェクトを選ぶ

      ※ このとき、プロジェクトを新規作成したいときは、「プロジェクトを追加」をクリックして、プロジェクトの新規作成を行う

      [image]
    5. Database」をクリック

      [image]
    6. 次の画面で、データベースの確認、コレクションの追加、ドキュメントの追加を行うことができる

      [image]

    クエリの例

    上のプログラムに続いて、次のようなクエリを実行してみる。 「u'name', u'==', u'apple'」は、文字列の完全一致

    a = ref.where(u'name', u'==', u'apple')
    docs = a.stream()
    for doc in docs:
        print(u'{} => {}'.format(doc.id, doc.to_dict()))
    

    実行結果は次のようになる

    [image]

    日付の大小比較の例

    u'time', u'>', datetime(2019,4,13,3,10,0)」は、日時(Python の datetime) の比較

    import datetime
    a = ref.where(u'time', u'>', datetime(2019,4,13,3,10,0))
    docs = a.stream()
    for doc in docs:
        print(u'{} => {}'.format(doc.id, doc.to_dict()))
    

    実行結果は次のようになる


本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]