Versuchen Sie vorerst, FireBase Cloud Firestore mit Python zu verwenden

Einführung

"Ich möchte vorerst den Cloud Firestore von FireBase mit Python verwenden!" Während Sie dem [offiziellen Dokument] von FireBase (https://firebase.google.com/docs/firestore/quickstart?authuser=0) folgen, schreiben Sie die Prozedur, wenn Sie die grundlegende "Dateneingabe / -ausgabe" versuchen. Ich werde.

Zuerst ... erstellen wir ein "Projekt"

Ein "Projekt" ist eine "Gruppe" zur Verwendung von Diensten wie Firestore, Cloud-Funktionen, Authentifizierung und Hosting. Mit FireBase erstellte Projekte sind auch in GCP üblich.

Jetzt erstellen wir ein Projekt.

Wechseln Sie zunächst zur FireBase-Konsole (https://console.firebase.google.com). image.png Klicken Sie in der Mitte auf "Projekt erstellen". image.png Geben Sie einen Namen für Ihr Projekt ein und klicken Sie auf Weiter.

In Schritt 2/3 wird "Google Analytics (für Firebase-Projekte)" erläutert, sodass Sie es aktivieren können oder nicht. (Schalten Sie es diesmal aus.) image.png

Klicken Sie abschließend auf "Projekt erstellen", um den Erstellungsprozess automatisch zu starten.

Nach kurzer Zeit wird die Meldung "Neues Projekt ist fertig" wie unten gezeigt angezeigt. Klicken Sie auf "Weiter". image.png

Dann wechselt der Bildschirm zur Konsole. image.png

Damit ist die Projekterstellung abgeschlossen.

Erstellen Sie eine Cloud Firestore-Datenbank

Im Cloud Firestore "Dokument" zum Schreiben von "Daten", Es gibt eine "Sammlung" (wie ein Ordner), um Dokumente zusammenzuhalten. Eine "Datenbank" ist eine "Box" zum Speichern von Sammlungen.

.... es ist schwierig. Wenn Sie sich nicht sicher sind, schauen Sie sich die leicht verständlichen Artikel anderer an!

Lassen Sie uns zuerst eine Datenbank erstellen.

Klicken Sie links im Menü auf Datenbank. image.png Klicken Sie dann auf "Datenbank erstellen".

Ein Dialogfeld wird angezeigt. Wählen Sie daher "Im Testmodus starten" und dann "Weiter". image.png Verlassen Sie die Standortauswahl und klicken Sie auf Fertig stellen. image.png

Nach Abschluss der Bereitstellungs- und Sicherheitseinstellungen wird der folgende Bildschirm automatisch angezeigt.

image.png

Damit ist die Datenbankerstellung abgeschlossen.

Erstellen Sie Sammlungen und Dokumente

Nun machen wir uns bereit für die Daten.

Klicken Sie in der Mitte auf "Sammlung starten". Ein Dialogfeld wird angezeigt. Geben Sie daher unter "Sammlungs-ID" eine beliebige Zeichenfolge (Sammlungsname) ein. image.png

Die "Dokument-ID" kann eine beliebige Zeichenfolge sein. Wenn Sie auf "Automatische ID" klicken, wird sie entsprechend zugewiesen. Sie können das "Feld" festlegen, aber wenn Sie die Daten eingeben, werden sie ohne Erlaubnis generiert. image.png

Dadurch werden eine Sammlung und Dokumente gleichzeitig erstellt, und Sie können Ihre Daten auffüllen.

Bringen Sie Ihren API-Schlüssel mit

Generieren Sie abschließend den API-Schlüssel für das Spielen mit FireBase aus Python und laden Sie ihn herunter.

Klicken Sie auf die Zahnradmarkierung oben links → "Projekteinstellungen". image.png

Wählen Sie dann "Dienstkonto". image.png

Klicken Sie auf "Neuen privaten Schlüssel generieren" und dann auf "Schlüssel generieren". Die Json-Datei wird heruntergeladen. Bewahren Sie sie daher an einem geeigneten Ort auf.

Dann ist es Python!

Von hier aus werde ich FireBase verlassen und auf der Python-Seite arbeiten. Der hier geschriebene Code stammt aus dem offiziellen Dokument und wurde teilweise geändert.

Lassen Sie uns die Bibliothek setzen

Wir haben bereits eine Bibliothek zum Spielen mit FireBase aus Python.

pip install firebase-admin

So installieren Sie die FireBase-Bibliothek

Lassen Sie uns zuerst initialisieren

Initialisieren Sie die Cloud Firestore SDK-Instanz.

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

cred = credentials.Certificate('Schreiben Sie den Pfad Ihres privaten Schlüssels.json')
firebase_admin.initialize_app(cred)

db = firestore.client()

Allein damit wird das SDK initialisiert und Daten können eingegeben und ausgegeben werden.

Fügen wir einige Daten hinzu

Fügen wir nun der Datenbank hinzu, die im vorherigen Schritt erstellt wurde. Verwenden Sie das Beispiel aus der offiziellen Dokumentation (https://firebase.google.com/docs/firestore/quickstart) unverändert. Bitte fügen Sie den Code unten unter dem Initialisierungscode oben hinzu!

doc_ref = db.collection(u'users').document(u'alovelace')
doc_ref.set({
    u'first': u'Ada',
    u'last': u'Lovelace',
    u'born': 1815
})

Ein kleiner Kommentar db.collection (u'users ') ... Welche Sammlung in der Datenbank angegeben werden soll .document (u'alovelace ') ... Welches Dokument in der zuvor angegebenen Sammlung soll angegeben werden? u'first ': u'Ada', ... Fügen Sie den Wert "Ada" zum Feld "first" hinzu

Machen wir das!

Bei korrekter Ausführung sollte auf der Seite der FireBase-Konsole so etwas angezeigt werden. image.png

Lesen wir diesmal die Daten

Lesen wir nun die hinzugefügten Daten. Hier wird die Zeichenfolge wie im Python-Ausgabefenster ausgegeben.

Unter dem Initialisierungscode

users_ref = db.collection(u'users')
docs = users_ref.stream()

for doc in docs:
    print(u'{} => {}'.format(doc.id, doc.to_dict()))

Wenn alles gut geht, sollten Sie so etwas sehen: image.png

Löschen wir die hinzugefügten Daten

Zuletzt löschen wir die Daten.

Ich denke, die Struktur vor dem Löschen ist wie folgt image.png

Nur das hinzugefügte Feld löschen

city_ref = db.collection(u'users').document(u'alovelace')
city_ref.update({
    u'born': firestore.DELETE_FIELD
})

Dieser Code entfernt das Feld "geboren".

So löschen Sie das gesamte Dokument

db.collection(u'users').document(u'alovelace').delete()

So löschen Sie auch die Sammlung

def delete_collection(coll_ref, batch_size):
    docs = coll_ref.limit(batch_size).get()
    deleted = 0

    for doc in docs:
        print(u'Deleting doc {} => {}'.format(doc.id, doc.to_dict()))
        doc.reference.delete()
        deleted = deleted + 1

    if deleted >= batch_size:
        return delete_collection(coll_ref, batch_size)

(Wenn Sie eine Sammlung löschen, müssen Sie alle Dokumente abrufen und löschen.)

Dies ist das Ende der Grundoperation.

abschließend

Ich denke, es war ein schwieriger Artikel zu lesen, aber danke, dass Sie so weit gelesen haben. Hab ein gutes FireBase-Leben!

Recommended Posts

Versuchen Sie vorerst, FireBase Cloud Firestore mit Python zu verwenden
Versuchen Sie es vorerst mit LINE Notify
Versuchen Sie, die Kraken-API mit Python zu verwenden
MongoDB mit Python zum ersten Mal
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Verwenden Sie vorerst Logger mit Python
Versuchen Sie, die DropBox Core-API mit Python zu verwenden
Ein nützlicher Hinweis, wenn Sie Python nach langer Zeit verwenden
Führen Sie es vorerst mit CentOS7 + Apache2.4 + Python3.6 aus
Versuchen Sie, Pfeffer ein externes Modul hinzuzufügen. Vorerst in Anfragen.
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
[In kürzester Zeit verstehen] Python-Grundlagen für die Datenanalyse
[Einführung in die Stärkung des Lernens] Stärkung des Lernens, um sich vorerst zu bewegen
Versuchen Sie es mit LevelDB mit Python (plyvel)
Siehe Python zum ersten Mal
Versuchen Sie es mit dem Python Cmd-Modul
Versuchen Sie es mit LeapMotion mit Python
Grundlegendes zur Python-Klasse Kampf (1) Verschieben wir sie vorerst
Lassen Sie uns vorerst Googles Vision API von Python berühren
Versuchen Sie, das HL-Band der Reihe nach zu verwenden
Tweet mit der Twitter-API in Python
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Versuchen wir zum ersten Mal Linux
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
CERTIFICATE_VERIFY_FAILED in Python 3.6, dem offiziellen Installationsprogramm für macOS
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Firebase: Verwenden Sie Cloud Firestore und Cloud Storage von Python
Importieren Sie sie vorerst in jupyter
Python: Versuchen Sie, die Benutzeroberfläche von Pythonista 3 auf dem iPad zu verwenden
Führen Sie yolov4 "vorerst" in Windows aus
Ich habe vorerst mit Floydhub gespielt
Versuchen Sie es mit dem Python-Webframework Tornado Part 1
Tipps zum Erreichen der ATND-API mit Python
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Versuchen Sie es mit dem Python-Webframework Tornado Part 2
Versuchen Sie, die Monte-Carlo-Methode in Python zu implementieren
Klicken Sie in Python auf die Firebase Dynamic Links API
virtualenv Das ist vorerst alles!
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Versuchen Sie zum ersten Mal, in Qiita zu posten
Bereiten Sie die Entwicklungsumgebung für Python unter AWS Cloud9 vor (Pip-Installation und Zeitumstellung)
Drehen Sie in Python mehrere Listen mit for-Anweisung gleichzeitig
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich werde versuchen, die Links zusammenzufassen, die vorerst nützlich erscheinen
Verzeichnisstruktur für die testgetriebene Entwicklung mit pytest in python
[AWS IoT] Registrieren Sie Dinge in AWS IoT mithilfe des AWS IoT Python SDK
Flow Memo, um LOCUST vorerst zu verschieben
[Python] Misst und zeigt die für die Verarbeitung erforderliche Zeit an
Registrieren Sie gemeinsam Daten im Firestore mithilfe der CSV-Datei in Python
Grundeinstellungen bei Verwendung der foursquare-API mit Python
Bestimmen Sie den Schwellenwert mithilfe der P-Tile-Methode in Python
Versuchen Sie, in Python nach einem Profil mit einer Million Zeichen zu suchen
Ich habe Python zum ersten Mal mit Heroku ausprobiert
So testen Sie eine Funktion, die die aktuelle Zeit enthält, mit Freezegun in Python