Datastore Admin

In Firestore im Datastore-Modus konnte zuvor das optionale Modul "Datastore Admin" mit Bulk-Lösch- und Sicherungsfeatures aktiviert werden. Datastore Admin wurde durch zuverlässigere Alternativen ersetzt:

Auf Datastore Admin zugreifen

Wenn Sie Datastore Admin bereits aktiviert haben, können Sie weiterhin auf das Modul zugreifen. Rufen Sie dazu https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID auf, wobei PROJECT_ID die ID Ihres Google Cloud-Projekts ist. Wenn Sie Datastore Admin deaktivieren, können Sie das Modul nicht wieder aktivieren.

Einschränkungen bei der Verwendung von Datastore Admin-Features

  • Bei Kopier-, Lösch- und Sicherungsvorgängen werden neueste Updates möglicherweise nicht berücksichtigt.
  • Alle Datastore Admin-Vorgänge erfolgen innerhalb Ihrer Anwendung und werden somit auf Ihr Kontingent angerechnet.
  • Es wird dringend empfohlen, Schreibvorgänge während einer Sicherung oder Wiederherstellung zu deaktivieren.
  • Vorhandene Entitäten mit denselben Schlüsseln werden während eines Kopier-/Wiederherstellungsvorgangs überschrieben. Wenn Kopier-/Wiederherstellungsvorgänge mehrmals ausgeführt werden, werden keine Duplikate erstellt. Kopier-/Wiederherstellungsvorgänge löschen keine zusätzlichen Daten.
  • Wenn Sie eine nicht standardmäßige Warteschlange für die Sicherung/Wiederherstellung verwenden, können Sie nur das Ziel ah-builtin-python-bundle in queue.yaml angeben. Es können keine anderen Ziele verwendet werden.

Berechtigungen für den Datenbankzugriff

Standardmäßig kann Datastore Admin auf eine Datastore-Datenbank im selben Projekt zugreifen und benötigt keine Identitäts- und Zugriffsverwaltungsberechtigungen für Datastore.

Daten sichern

Führen Sie die folgenden Schritte aus, um eine Sicherungsdatei für zukünftige Datenwiederherstellungen oder für den Export zu erstellen.

  1. Falls noch nicht vorhanden, erstellen Sie einen Storage-Bucket für Ihr Projekt. Prüfen Sie optional, ob das Standarddienstkonto von App Engine für das Projekt über die Access Control List auf den Bucket zugreifen kann. Dies wurde möglicherweise bereits standardmäßig festgelegt und kann gegebenenfalls überschrieben werden.

  2. (Empfohlen) Deaktivieren Sie Cloud Datastore-Schreibvorgänge.

  3. Datastore Admin öffnen

  4. Wählen Sie die Entitätstypen aus, die Sie sichern möchten.

  5. Klicken Sie auf Entitäten sichern, um das Sicherungsformular anzuzeigen.

  6. Beachten Sie, dass ein Sicherungsname mit einem Datumsstempel angegeben wird.

    Sie müssen diesen Wert ändern, wenn Sie mehr als eine Sicherung pro Tag ausführen, weil keine Sicherung erstellt wird, wenn bereits eine Sicherung mit demselben Namen vorhanden ist.

  7. Die Standardwarteschlange wird für den Sicherungsjob verwendet. Sie können sie in den meisten Fällen nutzen.

    Wenn Sie eine nicht standardmäßige Warteschlange für die Sicherung/Wiederherstellung verwenden, können Sie nur das Ziel ah-builtin-python-bundle in queue.yaml angeben. Es können keine anderen Ziele verwendet werden.

  8. Wählen Sie Google Cloud Storage als Speicherort für die Sicherung aus.

  9. Bei Auswahl von Cloud Storage werden Sie aufgefordert, den Namen des Buckets, in dem die Sicherungen gespeichert werden sollen, im Format [BUCKET_NAME] anzugeben. Wahlweise können Sie den Bucket-Namen mit einer nachgestellten Verzeichnisstruktur angeben, beispielsweise [BUCKET_NAME]/backups/foo: Wenn diese Ordner noch nicht vorhanden sind, werden sie erstellt.

  10. Starten Sie die Sicherungsjobs dadurch, dass Sie auf Entitäten sichern klicken. Es wird eine Jobstatusseite angezeigt. Status von Sicherungsjob

  11. Klicken Sie auf Back to Datastore Admin (Zurück zu Datastore Admin), um den Sicherungsstatus zu sehen.

  12. Wenn Sie Cloud Datastore-Schreibvorgänge deaktiviert haben, aktivieren Sie sie wieder, nachdem die Sicherung abgeschlossen wurde.

Überlegungen im Zusammenhang mit Sicherung und Wiederherstellung

Mit der Sicherungs- und Wiederherstellungsfunktion sollen versehentlich gelöschte Daten wiederhergestellt oder Daten exportiert werden. Sie können alle Entitäten oder nur ausgewählte Typen von Entitäten sichern und Daten aus einer dieser Sicherungen wiederherstellen, wenn dies erforderlich ist.

Sicherungen werden in Cloud Storage gespeichert.

Beachten Sie, dass die Sicherung keine Indexe enthält. Beim Wiederherstellen werden die erforderlichen Indexe automatisch wieder mit den Indexdefinitionen generiert, die Sie mit Ihrer Anwendung hochgeladen haben.

Sie können auch Sicherungsdateien verwenden, um Ihre Daten in andere Google Cloud-Dienste wie etwa BigQuery zu exportieren.

Beim Wiederherstellen werden Entitäten keine neuen IDs zugewiesen. Bei Wiederherstellungsvorgängen werden die IDs verwendet, die bei der Sicherung vorhanden waren. Vorhandene Entitäten mit derselben ID werden überschrieben. Dabei werden die IDs reserviert, während die Entitäten wiederhergestellt werden. Dadurch sollten ID-Konflikte mit neuen Entitäten vermieden werden, wenn Schreibvorgänge während der Ausführung einer Wiederherstellung aktiviert sind. Neue Entitäten, die seit der Sicherung hinzugefügt wurden, werden beibehalten.

Sie können entweder alle Daten oder nur bestimmte Entitätstypen einer Sicherung wiederherstellen. Mit dieser Funktion können Sie außerdem eine Sicherung der Daten einer Anwendung in einer anderen Anwendung wiederherstellen, vorausgesetzt, Sie verwenden Cloud Storage für Ihre Sicherungen.

Sicherung abbrechen

Wenn aktuell Sicherungsjobs ausgeführt werden, werden sie im Bildschirm "Cloud Datastore Admin" in der Liste Ausstehende Sicherungen aufgeführt.

So stoppen Sie diese laufenden Sicherungen:

  1. Datastore Admin öffnen
  2. Wählen Sie im Abschnitt Ausstehende Sicherungen die entsprechende Sicherung in der Liste aus und klicken Sie auf Abbrechen.

Wenn Sie einen Sicherungsjob abbrechen, versucht App Engine, die Sicherungsdaten zu löschen, die bis zu diesem Zeitpunkt gespeichert wurden. In einigen Fällen können einige Dateien auch nach dem Abbruch noch vorhanden sein. Sie können diese Dateien an dem Speicherort finden, den Sie für die Sicherungen in Google Cloud Storage ausgewählt haben, und nach Abschluss des Abbruchs sicher löschen. Die Namen solcher Dateien beginnen mit dem folgenden Muster: datastore_backup_[BUCKET_NAME].

Informationen zu einer Sicherung suchen

Sie können Details zu einer Sicherung suchen, wie z. B. die Arten der enthaltenen Entitäten, den Speicherort in Google Cloud Storage sowie die Start- und Endzeit. So zeigen Sie diese Sicherungsinformation an:

  1. Datastore Admin öffnen
  2. Wählen Sie eine oder mehrere Sicherungen in der Liste Sicherungen oder Ausstehende Sicherungen aus.
  3. Klicken Sie auf Info, um Informationen zu diesen Sicherungen anzuzeigen.
  4. Klicken Sie auf Zurück, um zum Cloud Datastore Admin-Hauptbildschirm zurückzugehen.

Daten wiederherstellen

So stellen Sie Daten aus einer Sicherung wieder her:

  1. (Empfohlen) Deaktivieren Sie Cloud Datastore-Schreibvorgänge für Ihre Anwendung. Dies wird normalerweise empfohlen, um Konflikte zwischen den wiederhergestellten und neuen Daten zu vermeiden, die in Cloud Datastore geschrieben werden.
  2. Datastore Admin öffnen
  3. Wählen Sie in der Liste der verfügbaren Sicherungen die Sicherung aus, aus der Sie Daten wiederherstellen möchten.
  4. Klicken Sie auf Wiederherstellen.
  5. Beachten Sie auf der angezeigten Hinweisseite die Liste der Entitäten mit Kästchen. Standardmäßig werden alle Entitäten wiederhergestellt. Entfernen Sie das Häkchen neben jeder Entität, die nicht wiederhergestellt werden soll.
  6. Achten Sie auf der Hinweisseite außerdem darauf, dass die Standardwarteschlange mit ihren vorkonfigurierten Leistungseinstellungen für die Wiederherstellung verwendet wird. Wechseln Sie zu einer unterschiedlich konfigurierten Warteschlange, wenn Sie andere Leistungsmerkmale für die Warteschlange benötigen. Stellen Sie dabei sicher, dass für die ausgewählte Warteschlange in queue.yaml kein anderes Ziel als ah-builtin-python-bundle angegeben ist.
  7. Starten Sie die Wiederherstellung dadurch, dass Sie auf Wiederherstellen klicken. Es wird eine Jobstatusseite angezeigt.
  8. Klicken Sie auf Zurück zu Datastore Admin, um den Status der Wiederherstellung zu sehen.Wiederherstellungsstatus
  9. Wenn Sie Schreibvorgänge deaktiviert haben, aktivieren Sie für Ihre Anwendung die Cloud Datastore-Schreibvorgänge wieder, nachdem die Wiederherstellung abgeschlossen wurde.

Daten in einer anderen Anwendung wiederherstellen

Wenn Sie Ihre Daten mit Google Cloud Storage sichern, können Sie Sicherungen in anderen Anwendungen als der, mit der die Sicherungen erstellt wurden, wiederherstellen.

So stellen Sie Sicherungsdaten aus einer Quellanwendung in einer Zielanwendung wieder her:

  1. Erstellen Sie für den Storage-Bucket der Quellanwendung eine Richtlinie für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) mit der folgenden Berechtigung:

    • Hauptkonto: [PROJECT_ID]@appspot.gserviceaccount.com
    • Rollen: Storage Legacy Bucket Reader und Storage Legacy Object Reader

    Dabei ist [PROJECT_ID] die Projekt-ID der Zielanwendung.

  2. Erstellen Sie eine neue Sicherung in der Quellanwendung.

  3. (Empfohlen) Deaktivieren Sie Cloud Datastore-Schreibvorgänge für Ihre Zielanwendung, um Konflikte zwischen den wiederhergestellten Daten und neu in Cloud Datastore geschriebenen Daten zu vermeiden.

  4. Datastore Admin öffnen

  5. Geben Sie im Textfeld neben der Schaltfläche Sicherungsinformationen importieren den Bucket der Quellanwendung, der die Sicherung enthält, im Format /gs/[BUCKET_NAME] an. Sicherungs-Storage-Bucket
    Geben Sie alternativ das Datei-Handle für eine bestimmte Sicherung an. Zum Aufrufen des Datei-Handles für eine Sicherung öffnen Sie die Admin-Seite für die Quellanwendung, wählen Sie die Sicherung aus und klicken Sie auf Info. Das Datei-Handle sollte sich neben dem Label Handle befinden.

  6. Klicken Sie auf Sicherungsinformationen importieren.
    Auf der daraufhin angezeigten Auswahlseite sind die verfügbaren Sicherungen für den Bucket zu sehen, den Sie angegeben haben, es sei denn, Sie haben eine Sicherung mit ihrem Handle angegeben. Wählen Sie die gewünschte Sicherung aus und klicken Sie auf eine der folgenden Optionen:

    • Zu Sicherungsliste hinzufügen, wenn diese Sicherung in der Liste der verfügbaren Sicherungen für Ihre Anwendung beibehalten werden soll
    • Aus Sicherung wiederherstellen, wenn Sie Daten aus dieser Sicherung wiederherstellen möchten, die Sicherung jedoch nicht in der Liste der verfügbaren Sicherungen für Ihre Anwendung angezeigt werden soll
  7. Beachten Sie auf der angezeigten Hinweisseite die Liste der Entitäten mit Kästchen. Standardmäßig werden alle Entitäten wiederhergestellt. Entfernen Sie das Häkchen neben jeder Entität, die nicht wiederhergestellt werden soll.

  8. Beachten Sie auf der Hinweisseite außerdem, dass die Standardwarteschlange mit ihren vorkonfigurierten Leistungseinstellungen für die Wiederherstellung verwendet wird. Wechseln Sie zu einer von Ihnen anders konfigurierten Warteschlange, wenn Sie andere Leistungsmerkmale für die Warteschlange benötigen.

  9. Starten Sie die Wiederherstellung, indem Sie auf Wiederherstellen klicken. Beachten Sie, dass eine Jobstatusseite angezeigt wird.

  10. Wenn Sie Cloud Datastore-Schreibvorgänge deaktiviert haben, aktivieren Sie sie wieder, nachdem die Wiederherstellung abgeschlossen wurde.

Ressourcennutzung ansehen

Sehr häufige Sicherungen führen oft zu höheren Kosten. Wenn Sie einen Cloud Datastore Admin-Job ausführen, führen Sie tatsächlich einen zugrunde liegenden MapReduce-Job aus. MapReduce-Jobs führen dazu, dass die Stunden der Front-End-Instanz auf die Speichervorgänge und die Speichernutzung aufgeschlagen werden.

So zeigen Sie die Ressourcennutzung an:

  1. Rufen Sie in der Google Cloud Console die Seite App Engine auf.

    Zur Seite "App Engine"

  2. Wählen Sie in den Drop-down-Menüs oben auf der Seite den Dienst default und die Version ah-builtin-python-bundle aus.

Datenbankschreibvorgänge aktivieren oder deaktivieren

Normalerweise sollten Schreibvorgänge vor einer Wiederherstellung deaktiviert werden. Dadurch werden Konflikte zwischen der Wiederherstellung und neu in die Datenbank geschriebenen Daten vermieden.

Durch das Deaktivieren von Schreibvorgängen wird verhindert, dass Entitäten geändert werden, z. B. durch:

  • den Datastore-Betrachter.
  • Anwendungen, die die Datastore API verwenden.

So aktivieren oder deaktivieren Sie Schreibvorgänge:

  1. Rufen Sie die Seite Admin auf.

    Zur Seite "Admin"

  2. Klicken Sie auf Schreibvorgänge aktivieren, um Schreibvorgänge zu aktivieren, oder auf Schreibvorgänge deaktivieren, um sie zu deaktivieren. Der Schaltflächentext variiert je nach Status des Projekts.

Datastore Admin-Ressourcennutzung ansehen

Wenn Sie einen Datastore Admin-Job ausführen, führen Sie eigentlich einen zugrunde liegenden MapReduce-Job aus. MapReduce-Jobs führen dazu, dass die Stunden der Frontend-Instanznutzung auf die Speichervorgänge und -nutzung aufgeschlagen werden.

So zeigen Sie die Ressourcennutzung an:

  1. Rufen Sie in der Google Cloud Console die Seite App Engine auf.

    Zur Seite "App Engine"

  2. Wählen Sie in den Drop-down-Menüs oben auf der Seite den Dienst default und die Version ah-builtin-python-bundle aus.

Zugriff auf Datastore Admin deaktivieren

  1. Führen Sie den folgenden Befehl aus und ersetzen Sie dabei PROJECT_ID durch die ID Ihres Google Cloud-Projekts:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://appengine.googleapis.com/v1/apps/PROJECT_ID/services/default/versions/ah-builtin-python-bundle