【目次】
オンラインストレージ
データベース: Python, JavaScript と相性が良い.
その他、認証(ID,パスワード)など(セキュリティや課金に必要)
※ iOS, Android, Web で動く.使用には Google のアカウントが必要
git の URL: https://git-scm.com/
git の URL: https://git-scm.com/手順は、
別ページで説明
Python のプログラム作成には,開発環境や Python コンソール(Jupyter Qt Console,Spyder,PyCharm,PyScripter
以下,Windows でインストール済みであるものとして説明を続ける.
https://firebase.google.com/docs/admin/setup?hl=ja#initialize_the_sdk の記述に従う
すでにログイン済みのときは,ログインのための画面が出ない.次へ進む.
※ このとき、プロジェクトを新規作成したいときは、「プロジェクトを追加」をクリックして、プロジェクトの新規作成を行う
このとき、画面には、Firebase Admin SDK 構成スニペットが表示される。
※ この画面では、「Firebase サービスアカウントを使用し、Python プログラムで認証できる」ことが確認できる
このとき、ダウンロードされたJSONファイルのファイル名を確認しておく(あとでファイル名を使用する)
https://firebase.google.com/docs/admin/setup?hl=ja#initialize_the_sdk, https://firebase.google.com/docs/firestore/quickstart?hl=ja の記述に従う
コマンドプロンプトで,次のコマンドを実行
pip install -U firebase-admin
Python のプログラム作成には,開発環境や Python コンソール(Jupyter Qt Console,Spyder,PyCharm,PyScripter
下の 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()))
次のようにコレクションとドキュメントを作成していたとする。
実行結果は次の通り。
※ Web ブラウザを使って、データベースの確認、コレクションの追加、ドキュメントの追加を行いたいときの手順
https://firebase.google.com/?hl=ja
※ このとき、google のアカウント(IDとパスワード)が必要になる可能性がある
※ このとき、プロジェクトを新規作成したいときは、「プロジェクトを追加」をクリックして、プロジェクトの新規作成を行う
上のプログラムに続いて、次のようなクエリを実行してみる。 「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()))
実行結果は次のようになる
「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()))
実行結果は次のようになる