Daten exportieren und importieren

Sie können den von Cloud Firestore verwalteten Export- und Importdienst verwenden, um Daten nach versehentlichem Löschen wiederherzustellen und Daten für die Offline-Verarbeitung zu exportieren. Sie können alle Dokumente oder nur bestimmte Sammlungen exportieren. Ebenso können Sie alle Daten aus einem Export importieren oder nur bestimmte Sammlungen. Aus einer Cloud Firestore-Datenbank exportierte Daten können in eine andere Cloud Firestore-Datenbank importiert werden. Sie können auch Cloud Firestore-Exporte in BigQuery laden .

Auf dieser Seite wird beschrieben, wie Sie Cloud Firestore-Dokumente mit dem verwalteten Export- und Importdienst und Cloud Storage exportieren und importieren. Der von Cloud Firestore verwaltete Export- und Importdienst ist über das gcloud -Befehlszeilentool und die Cloud Firestore API ( REST , RPC ) verfügbar.

Bevor Sie beginnen

Bevor Sie den verwalteten Export- und Importdienst verwenden können, müssen Sie die folgenden Aufgaben ausführen:

  1. Aktivieren Sie die Abrechnung für Ihr Google Cloud-Projekt. Nur Google Cloud-Projekte mit aktivierter Abrechnung können die Export- und Importfunktion verwenden.
  2. Erstellen Sie einen Cloud Storage-Bucket für Ihr Projekt an einem Standort in der Nähe Ihres Cloud Firestore-Datenbankspeicherorts . Sie können einen Bucket mit Zahlung durch den Anforderer nicht für Export- und Importvorgänge verwenden.
  3. Stellen Sie sicher, dass Ihr Konto über die erforderlichen Berechtigungen für Cloud Firestore und Cloud Storage verfügt. Wenn Sie der Projektinhaber sind, verfügt Ihr Konto über die erforderlichen Berechtigungen. Andernfalls gewähren die folgenden Rollen die erforderlichen Berechtigungen für Export- und Importvorgänge und für den Zugriff auf Cloud Storage:

    • Cloud Firestore-Rollen: Owner , Cloud Datastore Owner oder Cloud Datastore Import Export Admin
    • Cloud Storage-Rollen: Owner oder Storage Admin

Standardberechtigungen für Dienstkonten

Jedes Google Cloud-Projekt erstellt automatisch ein Standarddienstkonto namens PROJECT_ID @appspot.gserviceaccount.com . Export- und Importvorgänge verwenden dieses Dienstkonto, um Cloud Storage-Vorgänge zu autorisieren.

Das Standarddienstkonto Ihres Projekts erfordert Zugriff auf den Cloud Storage-Bucket, der in einem Export- oder Importvorgang verwendet wird. Wenn sich Ihr Cloud Storage-Bucket im selben Projekt wie Ihre Cloud Firestore-Datenbank befindet, hat das Standarddienstkonto standardmäßig Zugriff auf den Bucket .

Wenn sich der Cloud Storage-Bucket in einem anderen Projekt befindet, müssen Sie dem Standarddienstkonto Zugriff auf den Cloud Storage-Bucket gewähren.

Das Dienstkonto benötigt die Storage Admin für den Cloud Storage-Bucket, der für den Export- oder Importvorgang verwendet werden soll.

Wenn Sie Ihr App Engine-Standarddienstkonto deaktivieren oder löschen, verliert Ihre App Engine-Anwendung den Zugriff auf Ihre Cloud Firestore-Datenbank. Wenn Sie Ihr App Engine-Dienstkonto deaktiviert haben, können Sie es wieder aktivieren, siehe Aktivieren eines Dienstkontos . Wenn Sie Ihr App Engine-Dienstkonto innerhalb der letzten 30 Tage gelöscht haben, können Sie Ihr Dienstkonto wiederherstellen, siehe Wiederherstellen eines Dienstkontos .

Richten Sie gcloud für Ihr Projekt ein

Sie können Import- und Exportvorgänge über die Google Cloud Platform-Konsole oder das gcloud -Befehlszeilentool initiieren. Um gcloud zu verwenden, richten Sie das Befehlszeilentool ein und stellen Sie auf eine der folgenden Arten eine Verbindung zu Ihrem Projekt her:

Daten exportieren

Ein Exportvorgang kopiert Dokumente in Ihrer Datenbank in eine Reihe von Dateien in einem Cloud Storage-Bucket. Beachten Sie, dass ein Export kein exakter Datenbank-Snapshot ist, der zum Startzeitpunkt des Exports erstellt wird. Ein Export kann Änderungen enthalten, die während der Ausführung des Vorgangs vorgenommen wurden.

Exportieren Sie alle Dokumente

Google Cloud-Konsole

  1. Rufen Sie in der Google Cloud Platform-Konsole die Seite Cloud Firestore Import/Export auf.

    Gehen Sie zur Seite Importieren/Exportieren

  2. Klicken Sie auf Exportieren .

  3. Klicken Sie auf die Option Gesamte Datenbank exportieren.

  4. Geben Sie unter Ziel auswählen den Namen eines Cloud Storage-Buckets ein oder verwenden Sie die Schaltfläche Durchsuchen , um einen Bucket auszuwählen.

  5. Klicken Sie auf Exportieren .

Die Konsole kehrt zur Import/Export -Seite zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der Seite „Letzte Importe und Exporte“ einen Eintrag hinzu. Bei einem Fehler zeigt die Seite eine Fehlermeldung an.

gcloud

Verwenden Sie den Firestore- firestore export , um alle Dokumente in Ihrer Datenbank zu exportieren, und ersetzen Sie dabei [BUCKET_NAME] durch den Namen Ihres Cloud Storage-Buckets. Fügen Sie das Flag --async , um zu verhindern, dass das gcloud Tool auf den Abschluss des Vorgangs wartet.

gcloud firestore export gs://[BUCKET_NAME]

Sie können Ihre Exporte organisieren, indem Sie nach dem Bucket-Namen ein Dateipräfix hinzufügen, z. B. BUCKET_NAME/my-exports-folder/export-name . Wenn Sie kein Dateipräfix angeben, erstellt der verwaltete Exportdienst eines basierend auf dem aktuellen Zeitstempel.

Sobald Sie einen Exportvorgang gestartet haben, wird der Vorgang durch Schließen des Terminals nicht abgebrochen, siehe Vorgang abbrechen .

Exportieren Sie bestimmte Sammlungen

Google Cloud-Konsole

  1. Rufen Sie in der Google Cloud Platform-Konsole die Seite Cloud Firestore Import/Export auf.

    Gehen Sie zur Seite Importieren/Exportieren

  2. Klicken Sie auf Exportieren .

  3. Klicken Sie auf die Option Eine oder mehrere Sammlungsgruppen exportieren. Verwenden Sie das Dropdown-Menü, um eine oder mehrere Sammlungsgruppen auszuwählen.

  4. Geben Sie unter Ziel auswählen den Namen eines Cloud Storage-Buckets ein oder verwenden Sie die Schaltfläche Durchsuchen , um einen Bucket auszuwählen.

  5. Klicken Sie auf Exportieren .

Die Konsole kehrt zur Import/Export -Seite zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der Seite „Letzte Importe und Exporte“ einen Eintrag hinzu. Bei einem Fehler zeigt die Seite eine Fehlermeldung an.

gcloud

Um bestimmte Sammlungsgruppen zu exportieren, verwenden Sie das --collection-ids . Der Vorgang exportiert nur die Sammlungsgruppen mit den angegebenen Sammlungs-IDs. Die Sammlungsgruppe umfasst alle Sammlungen und untergeordneten Sammlungen (in jedem Pfad) mit der angegebenen Sammlungs-ID.

gcloud firestore export gs://[BUCKET_NAME] --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1]

Daten importieren

Sobald Sie Dateien in Cloud Storage exportiert haben, können Sie Dokumente in diesen Dateien zurück in Ihr Projekt oder in ein anderes Projekt importieren. Beachten Sie die folgenden Punkte zu Importvorgängen:

  • Wenn Sie Daten importieren, werden die erforderlichen Indizes mit den aktuellen Indexdefinitionen Ihrer Datenbank aktualisiert. Ein Export enthält keine Indexdefinitionen.

  • Importe weisen keine neuen Dokument-IDs zu. Importe verwenden die zum Zeitpunkt des Exports erfassten IDs. Während ein Dokument importiert wird, wird seine ID reserviert, um ID-Kollisionen zu vermeiden. Wenn bereits ein Dokument mit derselben ID vorhanden ist, überschreibt der Import das vorhandene Dokument.

  • Wenn ein Dokument in Ihrer Datenbank von einem Import nicht betroffen ist, verbleibt es nach dem Import in Ihrer Datenbank.

  • Importvorgänge lösen keine Cloud Functions-Funktionen aus. Snapshot-Listener erhalten Aktualisierungen im Zusammenhang mit Importvorgängen.

  • Der Dateiname .overall_export_metadata muss mit dem Namen des übergeordneten Ordners übereinstimmen:

    gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/ PARENT_FOLDER_NAME / PARENT_FOLDER_NAME .overall_export_metadata

    Wenn Sie die Ausgabedateien eines Exports verschieben oder kopieren, lassen Sie die Dateinamen PARENT_FOLDER_NAME und .overall_export_metadata gleich.

Importieren Sie alle Dokumente aus einem Export

Google Cloud-Konsole

  1. Rufen Sie in der Google Cloud Platform-Konsole die Seite Cloud Firestore Import/Export auf.

    Gehen Sie zur Seite Importieren/Exportieren

  2. Klicken Sie auf Importieren .

  3. Geben Sie im Feld Dateiname den Dateinamen einer .overall_export_metadata -Datei aus einem abgeschlossenen Exportvorgang ein. Sie können die Schaltfläche Durchsuchen verwenden, um die Datei auszuwählen.

  4. Klicken Sie auf Importieren .

Die Konsole kehrt zur Import/Export -Seite zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der Seite „Letzte Importe und Exporte“ einen Eintrag hinzu. Bei einem Fehler zeigt die Seite eine Fehlermeldung an.

gcloud

Verwenden Sie den Befehl firestore import , um Dokumente aus einem vorherigen Exportvorgang zu importieren.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

wobei [BUCKET_NAME] und [EXPORT_PREFIX] auf den Speicherort Ihrer Exportdateien verweisen. Zum Beispiel:

gcloud firestore import gs://exports-bucket/2017-05-25T23:54:39_76544/

Sie können den Speicherort Ihrer Exportdateien im Cloud Storage-Browser in der Google Cloud Platform-Konsole bestätigen:

Öffnen Sie den Cloud Storage-Browser

Sobald Sie einen Importvorgang gestartet haben, wird der Vorgang durch Schließen des Terminals nicht abgebrochen, siehe Vorgang abbrechen .

Importieren Sie bestimmte Sammlungen

Google Cloud-Konsole

Sie können in der Konsole keine bestimmten Sammlungen auswählen. Verwenden Sie stattdessen gcloud .

gcloud

Um bestimmte Sammlungsgruppen aus einer Reihe von Exportdateien zu importieren, verwenden Sie das --collection-ids . Der Vorgang importiert nur die Sammlungsgruppen mit den angegebenen Sammlungs-IDs. Die Sammlungsgruppe umfasst alle Sammlungen und untergeordneten Sammlungen (in jedem Pfad) mit der angegebenen Sammlungs-ID.

Nur ein Export bestimmter Sammlungsgruppen unterstützt einen Import bestimmter Sammlungsgruppen. Sie können keine bestimmten Sammlungen aus einem Export aller Dokumente importieren.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1]

Verwaltung von Export- und Importvorgängen

Nachdem Sie einen Export- oder Importvorgang gestartet haben, weist Cloud Firestore dem Vorgang einen eindeutigen Namen zu. Sie können den Vorgangsnamen verwenden, um den Vorgang zu löschen, abzubrechen oder den Status zu prüfen.

Operationsnamen wird das Präfix projects/[PROJECT_ID]/databases/(default)/operations/ vorangestellt, zum Beispiel:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

Sie können das Präfix jedoch weglassen, wenn Sie einen Vorgangsnamen für die Befehle describe , " cancel " und " delete " angeben.

Alle Export- und Importvorgänge auflisten

Google Cloud-Konsole

Sie können eine Liste der letzten Export- und Importvorgänge auf der Seite Cloud Firestore Import/Export der Google Cloud Platform Console anzeigen.

Gehen Sie zur Seite Importieren/Exportieren

gcloud

Verwenden Sie den Befehl operations list , um alle laufenden und kürzlich abgeschlossenen Export- und Importoperationen anzuzeigen:

gcloud firestore operations list

Überprüfen Sie den Betriebsstatus

Google Cloud-Konsole

Sie können den Status eines kürzlich durchgeführten Export- oder Importvorgangs auf der Seite Cloud Firestore Import/Export der Google Cloud Platform Console anzeigen.

Gehen Sie zur Seite Importieren/Exportieren

gcloud

Verwenden Sie den Befehl operations describe description, um den Status eines Export- oder Importvorgangs anzuzeigen.

gcloud firestore operations describe [OPERATION_NAME]

Schätzen Sie die Fertigstellungszeit

Eine Anforderung für den Status eines lang andauernden Vorgangs gibt die Metriken workEstimated und workCompleted . Jede dieser Metriken wird sowohl in Bytes als auch in Entitäten zurückgegeben:

  • workEstimated zeigt die geschätzte Gesamtzahl von Bytes und Dokumenten, die eine Operation verarbeiten wird. Cloud Firestore lässt diesen Messwert möglicherweise weg, wenn keine Schätzung möglich ist.

  • workCompleted zeigt die Anzahl der bisher verarbeiteten Bytes und Dokumente an. Nach Abschluss des Vorgangs zeigt der Wert die Gesamtzahl der tatsächlich verarbeiteten Bytes und Dokumente an, die größer sein kann als der Wert von workEstimated .

Teilen workCompleted durch workEstimated für eine grobe Schätzung des Fortschritts. Diese Schätzung ist möglicherweise ungenau, da sie von einer verzögerten Statistikerfassung abhängt.

Einen Vorgang abbrechen

Google Cloud-Konsole

Sie können einen laufenden Export- oder Importvorgang auf der Seite Cloud Firestore Import/Export der Google Cloud Platform-Konsole abbrechen.

Gehen Sie zur Seite Importieren/Exportieren

In der Tabelle „ Letzte Importe und Exporte “ enthalten derzeit ausgeführte Vorgänge eine Schaltfläche „Abbrechen “ in der Spalte „ Abgeschlossen “. Klicken Sie auf die Schaltfläche Abbrechen , um den Vorgang abzubrechen. Die Schaltfläche ändert sich zu einer Abbruchmeldung und dann zu Abgebrochen , wenn der Vorgang vollständig beendet ist.

gcloud

Verwenden Sie den Befehl operations cancel , um einen laufenden Vorgang zu stoppen:

gcloud firestore operations cancel [OPERATION_NAME]

Durch das Abbrechen eines laufenden Vorgangs wird der Vorgang nicht rückgängig gemacht. Ein abgebrochener Exportvorgang hinterlässt Dokumente, die bereits in Cloud Storage exportiert wurden, und ein abgebrochener Importvorgang lässt bereits an Ihrer Datenbank vorgenommene Aktualisierungen unverändert. Sie können einen teilweise abgeschlossenen Export nicht importieren.

Löschen Sie einen Vorgang

Verwenden Sie den gcloud firestore operations delete , um einen Vorgang aus der Liste der letzten Vorgänge zu entfernen. Dieser Befehl löscht keine Exportdateien aus Cloud Storage.

gcloud firestore operations delete [OPERATION_NAME]

Abrechnung und Preisgestaltung für Export- und Importvorgänge

Sie müssen die Abrechnung für Ihr Google Cloud-Projekt aktivieren, bevor Sie den verwalteten Export- und Importdienst verwenden. Export- und Importvorgänge werden für das Lesen und Schreiben von Dokumenten zu den unter Cloud Firestore-Preisen aufgeführten Tarifen berechnet.

Die Kosten für Export- und Importvorgänge werden nicht auf Ihre Ausgabengrenze angerechnet . Export- oder Importvorgänge lösen Ihre Google Cloud-Budgetbenachrichtigungen erst nach Abschluss aus. Ebenso werden Lese- und Schreibvorgänge, die während eines Export- oder Importvorgangs ausgeführt werden, nach Abschluss des Vorgangs auf Ihr tägliches Kontingent angewendet. Export- und Importvorgänge wirken sich nicht auf die Nutzung aus, die im Nutzungsabschnitt der Konsole angezeigt wird.

Anzeigen von Export- und Importkosten

Export- und Importvorgänge wenden das Label goog-firestoremanaged:exportimport auf abgerechnete Vorgänge an. Auf der Seite "Cloud Billing-Berichte" können Sie dieses Label verwenden, um Kosten im Zusammenhang mit Import- und Exportvorgängen anzuzeigen:

Greifen Sie über das Filtermenü auf das Label goog-firestoremanaged zu.

Nach BigQuery exportieren

Sie können Daten aus einem Cloud Firestore-Export in BigQuery laden, aber nur, wenn Sie einen collection-ids Filter angegeben haben. Siehe Laden von Daten aus Cloud Firestore-Exporten .

BigQuery-Spaltenlimit

BigQuery legt ein Limit von 10.000 Spalten pro Tabelle fest. Cloud Firestore-Exportvorgänge generieren ein BigQuery-Tabellenschema für jede Sammlungsgruppe. In diesem Schema wird jeder eindeutige Feldname innerhalb einer Sammlungsgruppe zu einer Schemaspalte.

Wenn das BigQuery-Schema einer Sammlungsgruppe 10.000 Spalten überschreitet, versucht der Cloud Firestore-Exportvorgang, unter dem Spaltenlimit zu bleiben, indem Zuordnungsfelder als Bytes behandelt werden. Wenn diese Konvertierung die Anzahl der Spalten unter 10.000 bringt, können Sie die Daten in BigQuery laden, aber Sie können die Unterfelder innerhalb der Kartenfelder nicht abfragen. Wenn die Anzahl der Spalten immer noch 10.000 überschreitet, generiert der Exportvorgang kein BigQuery-Schema für die Sammlungsgruppe und Sie können ihre Daten nicht in BigQuery laden.

Format- und Metadatendateien exportieren

Die Ausgabe eines verwalteten Exports verwendet das LevelDB-Protokollformat .

Metadatendateien

Ein Exportvorgang erstellt eine Metadatendatei für jede von Ihnen angegebene Sammlungsgruppe. Metadatendateien haben normalerweise den Namen ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata .

Die Metadatendateien sind Protokollpuffer und Sie können sie mit dem Protokoll-Compiler protoc dekodieren. Sie können beispielsweise eine Metadatendatei dekodieren, um die Sammlungsgruppen zu bestimmen, die die Exportdateien enthalten:

protoc --decode_raw < export0.export_metadata

Service-Agent-Migration

Sie können jetzt anstelle des App Engine-Dienstkontos einen Cloud Firestore-Dienstagenten verwenden, um Import- und Exportvorgänge zu autorisieren. Der Dienstagent und das Dienstkonto verwenden die folgenden Namenskonventionen:

Cloud Firestore-Dienstagent
service- project_number @gcp-sa-firestore.iam.gserviceaccount.com
App Engine-Dienstkonto
project_id @appspot.gserviceaccount.com

Der Cloud Firestore-Dienstagent ist vorzuziehen, da er spezifisch für Cloud Firestore ist. Das App Engine-Dienstkonto wird von mehreren Diensten gemeinsam genutzt.

Berechtigungskonto anzeigen

Auf der Seite „ Import/Export “ in der Google Cloud Platform Console können Sie anzeigen, welches Konto Ihre Import- und Exportvorgänge verwenden, um Anfragen zu autorisieren. Sie können auch anzeigen, ob Ihre Datenbank bereits den Cloud Firestore-Dienstagenten verwendet.

  1. Rufen Sie in der Google Cloud Platform-Konsole die Seite Cloud Firestore Import/Export auf.

    Gehen Sie zu Importieren/Exportieren

  2. Zeigen Sie das Autorisierungskonto neben den als Label ausgeführten Import-/Exportaufträgen an .

Wenn Ihr Projekt den Cloud Firestore-Dienstagenten nicht verwendet, können Sie mit einer der folgenden Techniken zum Cloud Firestore-Dienstagenten migrieren:

Die erste dieser Techniken ist vorzuziehen, da sie den Wirkungsbereich auf ein einzelnes Cloud Firestore-Projekt lokalisiert. Die zweite Methode wird nicht bevorzugt, da sie keine bestehenden Cloud Storage-Bucket-Berechtigungen migriert. Es bietet jedoch Sicherheitskonformität auf Organisationsebene.

Migrieren Sie, indem Sie die Cloud Storage-Bucket-Berechtigungen prüfen und aktualisieren

Der Migrationsprozess besteht aus zwei Schritten:

  1. Aktualisieren Sie die Cloud Storage-Bucket-Berechtigungen. Einzelheiten finden Sie im folgenden Abschnitt.
  2. Bestätigen Sie die Migration zum Cloud Firestore-Dienstagenten.

Bucket-Berechtigungen für Service-Agenten

Für alle Export- oder Importvorgänge, die einen Cloud Storage-Bucket in einem anderen Projekt verwenden, müssen Sie dem Cloud Firestore-Dienst-Agent Berechtigungen für diesen Bucket erteilen. Beispielsweise müssen Vorgänge, die Daten in ein anderes Projekt verschieben, auf einen Bucket in diesem anderen Projekt zugreifen. Andernfalls schlagen diese Vorgänge nach der Migration zum Cloud Firestore-Dienstagenten fehl.

Import- und Export-Workflows, die innerhalb desselben Projekts verbleiben, erfordern keine Änderungen an Berechtigungen. Der Cloud Firestore-Dienst-Agent kann standardmäßig auf Buckets im selben Projekt zugreifen.

Aktualisieren Sie die Berechtigungen für Cloud Storage-Buckets aus anderen Projekten, um dem Service-Agent service- project_number @gcp-sa-firestore.iam.gserviceaccount.com Zugriff zu gewähren. Gewähren Sie dem Dienstagenten die Rolle Firestore Service Agent .

Die Firestore Service Agent Rolle gewährt Lese- und Schreibberechtigungen für einen Cloud Storage-Bucket. Wenn Sie nur Lese- oder nur Schreibberechtigungen erteilen müssen, verwenden Sie eine benutzerdefinierte Rolle .

Der im folgenden Abschnitt beschriebene Migrationsprozess hilft Ihnen, Cloud Storage-Buckets zu identifizieren, für die möglicherweise Berechtigungsaktualisierungen erforderlich sind.

Migrieren Sie ein Projekt zum Firestore Service Agent

Führen Sie die folgenden Schritte aus, um vom App Engine-Dienstkonto zum Cloud Firestore-Dienstagenten zu migrieren. Nach Abschluss kann die Migration nicht rückgängig gemacht werden.

  1. Rufen Sie in der Google Cloud Platform-Konsole die Seite Cloud Firestore Import/Export auf.

    Gehen Sie zu Importieren/Exportieren

  2. Wenn Ihr Projekt noch nicht zum Cloud Firestore-Dienstagenten migriert wurde, sehen Sie ein Banner, das die Migration beschreibt, und eine Schaltfläche Bucket-Status überprüfen. Der nächste Schritt hilft Ihnen dabei, potenzielle Berechtigungsfehler zu identifizieren und zu beheben.

    Klicken Sie auf Bucket-Status überprüfen .

    Es wird ein Menü mit der Option zum Abschließen der Migration und einer Liste der Cloud Storage-Buckets angezeigt. Es kann einige Minuten dauern, bis die Liste vollständig geladen ist.

    Diese Liste enthält Buckets, die kürzlich in Import- und Exportvorgängen verwendet wurden, dem Cloud Firestore-Dienstagenten jedoch derzeit keine Lese- und Schreibberechtigungen erteilen.

  3. Notieren Sie sich den Prinzipalnamen des Cloud Firestore-Dienstagenten Ihres Projekts. Der Name des Serviceagenten wird unter dem Serviceagenten angezeigt , um Zugriff auf das Etikett zu gewähren.
  4. Führen Sie für jeden Bucket in der Liste, den Sie für zukünftige Import- oder Exportvorgänge verwenden möchten, die folgenden Schritte aus:

    1. Klicken Sie in der Tabellenzeile dieses Buckets auf Korrigieren . Dadurch wird die Berechtigungsseite dieses Buckets in einem neuen Tab geöffnet.

    2. Klicken Sie auf Hinzufügen .
    3. Geben Sie im Feld Neue Prinzipale den Namen Ihres Cloud Firestore-Dienstagenten ein.
    4. Wählen Sie im Feld Rolle auswählen die Option Service Agents > Firestore Service Agent aus.
    5. Klicken Sie auf Speichern .
    6. Kehren Sie zum Tab mit der Seite Cloud Firestore Import/Export zurück.
    7. Wiederholen Sie diese Schritte für andere Buckets in der Liste. Achten Sie darauf, alle Seiten der Liste anzuzeigen.
  5. Klicken Sie auf Zu Firestore Service Agent migrieren . Wenn Sie noch Buckets mit fehlgeschlagenen Berechtigungsprüfungen haben, müssen Sie Ihre Migration bestätigen, indem Sie auf Migrieren klicken .

    Eine Warnung informiert Sie, wenn Ihre Migration abgeschlossen ist. Die Migration kann nicht rückgängig gemacht werden.

Migrationsstatus anzeigen

  1. Um den Migrationsstatus Ihres Projekts zu überprüfen, gehen Sie zur Seite „ Import/Export “ in der Google Cloud Platform-Konsole:

    Gehen Sie zu Importieren/Exportieren

  2. Suchen Sie nach dem Prinzipal neben den Import/Export-Aufträgen, die als Label ausgeführt werden .

    Wenn der Prinzipal service- project_number @gcp-sa-firestore.iam.gserviceaccount.com , wurde Ihr Projekt bereits zum Cloud Firestore-Dienst-Agent migriert. Die Migration kann nicht rückgängig gemacht werden.

    Wenn das Projekt nicht migriert wurde, wird oben auf der Seite ein Banner mit der Schaltfläche Bucket-Status überprüfen angezeigt. Siehe Migrieren zum Firestore-Dienstagenten, um die Migration abzuschließen.

Fügen Sie eine organisationsweite Richtlinieneinschränkung hinzu

  • Legen Sie die folgende Einschränkung in der Richtlinie Ihrer Organisation fest:

    Firestore Service Agent für Import/Export anfordern ( firestore.requireP4SAforImportExport ).

    Diese Einschränkung erfordert, dass Import- und Exportvorgänge den Cloud Firestore-Dienstagenten verwenden, um Anfragen zu autorisieren. Informationen zum Festlegen dieser Einschränkung finden Sie unter Erstellen und Verwalten von Organisationsrichtlinien .

Das Anwenden dieser organisatorischen Richtlinieneinschränkung gewährt nicht automatisch die entsprechenden Cloud Storage-Bucket-Berechtigungen für den Cloud Firestore-Dienstagenten.

Wenn die Einschränkung Berechtigungsfehler für Import- oder Exportworkflows verursacht, können Sie sie deaktivieren, um zur Verwendung des Standarddienstkontos zurückzukehren. Nachdem Sie die Cloud Storage-Bucket-Berechtigungen überprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.