Essayez d'utiliser FireBase Cloud Firestore avec Python pour le moment

introduction

"Je souhaite utiliser Cloud Firestore de FireBase avec Python pour le moment!" Tout en suivant le [Document officiel] de FireBase (https://firebase.google.com/docs/firestore/quickstart?authuser=0), écrivez la procédure en essayant la "saisie / sortie de données" de base. Je vais.

D'abord ... créons un "projet"

Un "projet" est un "groupe" d'utilisation de services tels que Firestore, Cloud Functions, Authentication et Hosting. Les projets créés avec FireBase sont également communs à GCP.

Créons maintenant un projet.

Tout d'abord, accédez à la console FireBase (https://console.firebase.google.com). image.png Cliquez sur "Créer un projet" au milieu. image.png Entrez un nom pour votre projet et cliquez sur Continuer.

L'étape 2/3 expliquera "Google Analytics (pour les projets Firebase)", afin que vous puissiez l'activer ou non. (Éteignez-le cette fois.) image.png

Enfin, cliquez sur «Créer un projet» pour démarrer automatiquement le processus de création.

Après quelques instants, le message "Le nouveau projet est prêt" s'affichera comme indiqué ci-dessous. Cliquez sur "Continuer". image.png

Ensuite, l'écran passera à la console. image.png

Ceci termine la création du projet.

Créer une base de données Cloud Firestore

Dans Cloud Firestore, "Document" pour écrire "Data", Il existe une «collection» (comme un dossier) pour conserver vos documents ensemble. Une "base de données" est une "boîte" pour stocker des collections.

.... c'est difficile. Si vous n'êtes pas sûr, jetez un œil aux articles très faciles à comprendre d'autres personnes!

Créons d'abord une base de données.

Cliquez sur Base de données dans le menu de gauche. image.png Cliquez ensuite sur "Créer une base de données".

Une boîte de dialogue apparaîtra, alors sélectionnez "Démarrer en mode test" puis "Suivant". image.png Laissez la sélection d'emplacement et cliquez sur Terminer. image.png

Une fois les paramètres d'approvisionnement et de sécurité terminés, l'écran suivant s'affiche automatiquement.

image.png

Ceci termine la création de la base de données.

Créer des collections et des documents

Maintenant, préparons-nous pour les données.

Cliquez sur "Démarrer la collection" au milieu. Une boîte de dialogue apparaîtra, alors entrez une chaîne de caractères arbitraire (nom de la collection) dans "ID de la collection". image.png

L '"ID de document" peut être n'importe quelle chaîne de caractères, et si vous cliquez sur "ID automatique", il sera attribué de manière appropriée. Vous pouvez définir le "champ", mais lorsque vous entrez les données, elles seront générées sans autorisation. image.png

Cela créera une collection et des documents en même temps, et vous êtes prêt à remplir vos données.

Apportez votre clé API

Enfin, générez et téléchargez la clé API pour jouer avec FireBase depuis Python.

Cliquez sur la marque d'engrenage en haut à gauche → "Paramètres du projet". image.png

Sélectionnez ensuite "Compte de service". image.png

En l'état, cliquez sur "Générer une nouvelle clé privée" puis sur "Générer la clé". Le fichier Json sera téléchargé, alors conservez-le dans un emplacement approprié.

Alors c'est Python!

De là, je quitterai FireBase et commencerai à travailler du côté Python. Le code écrit ici est extrait du Document officiel et partiellement modifié.

Mettons la bibliothèque

Nous avons déjà une bibliothèque pour jouer avec FireBase depuis Python.

pip install firebase-admin

Pour installer la bibliothèque FireBase.

Initialisons d'abord

Initialisez l'instance du SDK Cloud Firestore.

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

cred = credentials.Certificate('Écrivez le chemin de votre clé privée.json')
firebase_admin.initialize_app(cred)

db = firestore.client()

Avec cela seul, le SDK est initialisé et les données peuvent être entrées et sorties.

Ajoutons quelques données

Ajoutons maintenant des données à la base de données créée à l'étape précédente. Utilisez l'exemple de la documentation officielle (https://firebase.google.com/docs/firestore/quickstart) tel quel. Veuillez ajouter le code ci-dessous sous le code d'initialisation ci-dessus!

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

Un petit commentaire db.collection (u'users ') ... Quelle collection de la base de données spécifier .document (u'alovelace ') ... Quel document de la collection précédemment spécifiée spécifier ʻU'first ': u'Ada', `... Ajoutez la valeur" Ada "au champ" first "

Faisons le!

S'il est exécuté correctement, vous devriez voir quelque chose comme ceci sur le côté de la console FireBase. image.png

Lisons les données cette fois

Maintenant, lisons les données ajoutées. Ici, la chaîne de caractères est sortie telle qu'elle est dans la fenêtre de sortie Python.

Sous le code d'initialisation

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

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

Si tout se passe bien, vous devriez voir quelque chose comme ceci: image.png

Supprimons les données ajoutées

Enfin, supprimons les données.

Je pense que la structure avant la suppression est la suivante image.png

Pour supprimer uniquement le champ ajouté

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

Ce code supprime le champ "né".

Pour supprimer tout le document

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

Pour supprimer également la collection

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)

(Lorsque vous supprimez une collection, vous devez obtenir tous les documents et les supprimer.)

C'est la fin de l'opération de base.

en conclusion

Je pense que c'était un article difficile à lire, mais merci d'avoir lu jusqu'ici. Bonne vie à FireBase!

Recommended Posts

Essayez d'utiliser FireBase Cloud Firestore avec Python pour le moment
Essayez d'utiliser LINE Notify pour le moment
Essayez d'utiliser l'API Kraken avec Python
MongoDB avec Python pour la première fois
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Utilisez Logger avec Python pour le moment
Essayez d'utiliser l'API DropBox Core avec Python
Une note utile lors de l'utilisation de Python après une longue période
Exécutez avec CentOS7 + Apache2.4 + Python3.6 pour le moment
Essayez d'ajouter un module externe au poivre. Pour le moment, en demandes.
Essayez une recherche similaire de recherche d'images à l'aide du SDK Python [Recherche]
[Comprendre au plus court] Principes de base de Python pour l'analyse des données
[Apprentissage de renforcement d'introduction] Renforcement de l'apprentissage pour bouger pour le moment
Essayez d'utiliser LevelDB avec Python (plyvel)
Voir python pour la première fois
Essayez d'utiliser le module Python Cmd
Essayez d'utiliser LeapMotion avec Python
Comprendre la classe python Struggle (1) Déplaçons-la pour le moment
Touchons l'API Vision de Google de Python pour le moment
Essayez d'utiliser la bande HL dans l'ordre
Tweet à l'aide de l'API Twitter en Python
Essayez d'utiliser Python avec Google Cloud Functions
Essayons Linux pour la première fois
Remarques sur l'utilisation de python (pydev) avec eclipse
CERTIFICATE_VERIFY_FAILED dans Python 3.6, le programme d'installation officiel de macOS
vprof - J'ai essayé d'utiliser le profileur pour Python
Firebase: utilisez Cloud Firestore et Cloud Storage depuis Python
Pour le moment, importez-les dans jupyter
Python: essayez d'utiliser l'interface utilisateur sur Pythonista 3 sur iPad
Exécutez yolov4 "pour le moment" dans Windows
J'ai joué avec Floydhub pour le moment
Essayez d'utiliser le framework Web Python Tornado Partie 1
Conseils pour accéder à l'API ATND avec Python
Essayez de calculer RPN avec Python (pour les débutants)
Essayez d'utiliser le module de collections (ChainMap) de python3
Essayez d'utiliser le framework Web Python Tornado Partie 2
Essayez d'implémenter la méthode Monte Carlo en Python
Accédez à l'API Firebase Dynamic Links en Python
virtualenv Pour le moment, c'est tout!
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Essayez de publier sur Qiita pour la première fois
Préparer l'environnement de développement pour Python sur AWS Cloud9 (installation de pip et changement d'heure)
Transformez plusieurs listes avec l'instruction for en même temps en Python
J'ai essayé Python sur Mac pour la première fois.
J'essaierai de résumer les liens qui me semblent utiles pour le moment
Structure de répertoire pour le développement piloté par les tests à l'aide de pytest en python
[AWS IoT] Enregistrer des éléments dans AWS IoT à l'aide du SDK AWS IoT Python
Mémo de flux pour déplacer LOCUST pour le moment
[Python] Mesure et affiche le temps nécessaire au traitement
Enregistrez collectivement des données dans Firestore à l'aide d'un fichier csv en Python
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Déterminer le seuil à l'aide de la méthode P-tile en python
Essayez de rechercher un profil d'un million de caractères en Python
J'ai essayé python pour la première fois avec heroku
Comment tester unitaire une fonction contenant l'heure actuelle à l'aide de Freezegun en Python