Cloud Firestore im Datastore-Modus verwenden
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Firestore ist eine NoSQL-Dokumentdatenbank, die auf Autoscaling, hohe Leistung und einfache Anwendungsentwicklung ausgelegt ist. Es ist die neueste Version von Datastore und bietet einige Verbesserungen.
Da Firestore im Datastore-Modus für Serveranwendungsfälle und für App Engine optimiert ist, empfehlen wir die Verwendung von Firestore im Datastore-Modus für Datenbanken, die hauptsächlich von App Engine-Anwendungen verwendet werden. Firestore im nativen Modus ist besonders nützlich für mobile und Echtzeit-Benachrichtigungs-Anwendungsfälle. Weitere Informationen zu Firestore-Modi finden Sie unter Zwischen nativem Modus und Datastore-Modus wechseln.
Datastore-Modus mit App Engine verwenden
So verwenden Sie den Datastore-Modus mit App Engine:
Falls noch nicht geschehen, erstellen Sie eine Datenbank und wählen Sie Firestore im Datastore-Modus aus.
Sie können für App Engine-Anwendungen vorhandene Datastore-Datenbanken verwenden. Diese bereits vorhandenen Datenbanken werden automatisch auf Firestore im Datastore-Modus aktualisiert.
Deklarieren Sie in Ihrer Anwendung Datastore mithilfe des go get cloud.google.com/go/datastore
-Befehls als Abhängigkeit. Alternativ können Sie Abhängigkeiten in der go.mod
-Datei Ihrer Anwendung angeben. Weitere Informationen finden Sie unter Abhängigkeiten angeben.
Verwenden Sie die Google Cloud-Clientbibliothek, damit Sie Entitäten lesen und schreiben sowie Daten abfragen können.
Indexe konfigurieren
Im Datastore-Modus werden für jede von Ihrer Anwendung ausgeführte Abfrage Indexe verwendet. Diese Indexe werden bei jeder Änderung von Entitäten aktualisiert. Dies gewährleistet, dass die Ergebnisse schnell zurückgegeben werden, wenn die Anwendung eine Abfrage startet.
Im Datastore-Modus werden für einfache Abfragetypen automatisch Indexe mit nur einem Attribut erstellt. Bei komplexen Abfragen, die mehrere Attribute enthalten, müssen Sie zusammengesetzte Indexe in der Datei index.yaml
Ihrer Anwendung konfigurieren.
Der App Engine-Entwicklungsserver aktualisiert Ihre Datei index.yaml
mit den benötigten zusammengesetzten Indexen zum Ausführen Ihrer Tests. Ebenso generiert der Datastore-Modus-Emulator Indexe für das Ausführen von Tests.
Sie haben auch die Möglichkeit, die Indexe manuell zur Datei index.yaml
Ihrer Anwendung hinzufügen, wenn Sie keine lokalen Tests ausführen oder Ihre Tests keine komplexen Abfragen enthalten.
Datenbankberechtigungen festlegen
Standardmäßig hat Ihre Anwendung alle Berechtigungen, die zum Lesen und Schreiben in Datastore-Modus- und Firestore-Datenbanken in Ihrem Google Cloud-Projekt erforderlich sind.
Zur Verwaltung dieser Berechtigungen nutzt jede App Engine-Anwendung ein Standarddienstkonto, das vollständigen Lese- und Schreibzugriff auf Datastore-Modus- und Firestore-Datenbanken im selben Projekt wie die Anwendung bietet. Sie können die Berechtigungen des Standarddienstkontos ändern. Ihre Anwendung verliert dann aber möglicherweise den Zugriff, solange ihr keine IAM-Rolle mit den erforderlichen Berechtigungen zugewiesen ist.
Informationen darüber, wie Sie anderen Nutzern, Anwendungen oder Projekten Zugriff auf eine Datenbank gewähren, finden Sie unter Auf Ihre Datenbank zugreifen.
Datastore-Modus-Emulator für lokale Tests verwenden
Die Google Cloud CLI enthält einen lokalen Emulator für die Produktionsumgebung im Datastore-Modus.
Sie können mit dem Emulator Ihre Anwendung lokal entwickeln und testen. Darüber hinaus haben Sie die Möglichkeit, mit dem Emulator Indexe für Ihre Cloud Firestore-Produktionsinstanz im Datastore-Modus zu generieren und nicht benötigte Indexe zu löschen.
Wenn Sie den lokalen App Engine-Entwicklungsserver zum Testen Ihrer Anwendung verwenden, legen Sie beim Starten des Servers das Flag --support_datastore_emulator=true
fest. Damit ist gewährleistet, dass der Server den Datastore-Modus-Emulator nutzt.
Wenn Sie den Datastore-Modus-Emulator verwenden, zeigt „dev_appserver“ Folgendes an:
... Using Cloud Datastore Emulator.
Preise, Kontingente und Limits
Der Datastore-Modus bietet ein kostenloses Kontingent mit täglichen Limits. Kostenpflichtige Konten bieten unbegrenzte Speicher-, Lese- und Schreibvorgänge.
Weitere Informationen finden Sie auf der Seite Datastore-Kontingente.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-04-21 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-04-21 (UTC)."],[[["\u003cp\u003eFirestore, an upgraded version of Datastore, is a NoSQL document database designed for automatic scaling, high performance, and ease of application development.\u003c/p\u003e\n"],["\u003cp\u003eFirestore in Datastore mode is recommended for server-centric applications, particularly those on App Engine, while Native mode suits mobile and real-time notification use cases.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine apps can leverage Datastore mode by declaring it as a dependency and using the Google Cloud Client Library for entity and data management.\u003c/p\u003e\n"],["\u003cp\u003eDatastore mode uses indexes for all queries, automatically creating single-property indexes and requiring the manual configuration of composite indexes in the \u003ccode\u003eindex.yaml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eThe Datastore mode emulator, included with the Google Cloud CLI, facilitates local testing and development and can aid in generating necessary indexes.\u003c/p\u003e\n"]]],[],null,["# Using Cloud Firestore in Datastore Mode\n\nFirestore is a NoSQL document database built for automatic scaling,\nhigh performance, and ease of application development. It is the newest version\nof Datastore and introduces several improvements over\nDatastore.\n\nBecause Firestore in [Datastore mode](/datastore/docs)\nis optimized for server use cases and for\nApp Engine, we recommend using Firestore in\nDatastore mode for databases that will be used primarily by\nApp Engine apps. Firestore in Native mode is most useful for\nmobile and real-time notification use cases. For more information about\nFirestore modes, see [Choosing between Native Mode and\nDatastore mode](/datastore/docs/firestore-or-datastore).\n\nUsing Datastore mode with App Engine\n------------------------------------\n\nTo use Datastore mode with App Engine:\n\n1. If you haven't already done so,\n [create a database](/datastore/docs/store-query-data#create_a_database)\n and choose Firestore in Datastore mode.\n\n You can use existing Datastore databases with App Engine\n apps. These existing databases [will be automatically upgraded to\n Firestore in Datastore\n mode](/datastore/docs/upgrade-to-firestore).\n\n\n 1. In your app, declare Datastore as a dependency\n\n by using the `go get cloud.google.com/go/datastore` command. Alternatively,\n you can declare dependencies in your app's `go.mod` file. Learn more\n [about specifying dependencies](/appengine/docs/legacy/standard/go111/specifying-dependencies).\n\n \u003cbr /\u003e\n\n 2. Use the Google Cloud Client Library to\n [read and write entities](/datastore/docs/concepts/entities)\n and to [query data](/datastore/docs/concepts/queries).\n\n Configuring indexes\n -------------------\n\n Datastore mode uses\n [indexes](/datastore/docs/concepts/indexes)\n for every query your application makes. The indexes are updated whenever an\n entity changes, so the results can be returned quickly when the app makes a\n query.\n\n Datastore mode automatically creates single-property indexes for use with\n simple types of queries. For complex queries that include multiple properties,\n you'll need to configure composite indexes in your app's `index.yaml` file.\n\n The App Engine development server will update your `index.yaml` file\n with the composite indexes needed to run your tests. Similarly, the\n [Datastore mode emulator can generate indexes](/datastore/docs/tools)\n when you run tests.\n\n You can also add the indexes to your app's\n `index.yaml` file [manually](/appengine/docs/legacy/standard/go111/configuring-datastore-indexes-with-index-yaml) if you do not run local\n tests or your tests do not include complex queries.\n\n Setting database permissions\n ----------------------------\n\n By default, your app has all the permissions required to read and write to\n Datastore mode and Firestore databases in your\n Google Cloud project.\n\n To manage these permissions, each App Engine app uses a [default service\n account](/appengine/docs/legacy/standard/go111/service-account)\n that gives full read and write access to Datastore mode\n and Firestore databases in the same project as the app. You can\n [change the permissions of the default service\n account](/appengine/docs/legacy/standard/go111/access-control#modify-service-account),\n but your app may lose access unless you assign an IAM role with the\n [required permissions](/datastore/docs/access/iam#required_permissions).\n\n For information about allowing other users, apps, or projects to access a database, see\n [Accessing your database](/datastore/docs/activate).\n\n Using the Datastore mode emulator for local testing\n ---------------------------------------------------\n\n The Google Cloud CLI includes a local [emulator of the production Datastore mode\n mode environment](/datastore/docs/tools/datastore-emulator). You can use the emulator to develop and test your application locally. In addition, the emulator can help you generate indexes for your production Datastore mode mode instance and delete unneeded indexes.\n\n \u003cbr /\u003e\n\n If you use the App Engine [local development\n server](/appengine/docs/legacy/standard/python/tools/using-local-server) to test your\n app, you can ensure that the server will use the Datastore mode\n emulator by setting the `--support_datastore_emulator=true` flag when starting\n the server.\n\n If you are using the Datastore mode emulator, dev_appserver will display: \n\n ... Using Cloud Datastore Emulator.\n\n Pricing, quotas, and limits\n ---------------------------\n\n Datastore mode offers a free quota with daily limits. Paid\n accounts offer unlimited storage, read, and write operations. More information\n is available on the [Datastore Quotas](/appengine/docs/legacy/standard/go111/quotas#Datastore) page."]]