Daten importieren und exportieren

Sie können den verwalteten Export- und Importdienst dazu verwenden, versehentlich gelöschte Daten wiederherzustellen und Daten für die Offlineverarbeitung zu exportieren. Es lassen sich alle Dokumente oder nur bestimmte Sammlungen exportieren. Ebenso können Sie alle Daten aus einem Export oder nur bestimmte Sammlungen daraus importieren. Daten, die aus einer Firestore mit MongoDB-Kompatibilität-Datenbank exportiert wurden, können in eine andere Firestore mit MongoDB-Kompatibilität-Datenbank importiert werden. Sie können auch Firestore mit MongoDB-Kompatibilitätsexporten in BigQuery laden.

Auf dieser Seite wird beschrieben, wie Sie Firestore mit MongoDB-Kompatibilitätsdokumenten mithilfe des verwalteten Export- und Importdienstes und Cloud Storage exportieren und importieren. Der verwaltete Export- und Importdienst von Firestore mit MongoDB-Kompatibilität ist über das gcloud-Befehlszeilentool und die Firestore mit MongoDB-Kompatibilität API (REST, RPC) verfügbar.

Hinweis

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

  1. Aktivieren Sie die Abrechnung für Ihr Projekt in Google Cloud . 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 des Standorts Ihrer Firestore mit MongoDB-Kompatibilität-Datenbank. Sie können einen Bucket mit der Funktion „Anforderer bezahlt“ oder einen Rapid-Bucket nicht für Export- und Importvorgänge verwenden.
  3. Ihr Konto muss die erforderlichen Berechtigungen für Firestore mit MongoDB-Kompatibilität und Cloud Storage haben. Wenn Sie der Projektinhaber sind, hat Ihr Konto 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:

Berechtigungen des Dienst-Agents

Bei Export- und Importvorgängen wird ein Firestore-Dienst-Agent verwendet, um Cloud Storage-Vorgänge zu autorisieren. Der Firestore-Dienst-Agent verwendet die folgende Namenskonvention:

Firestore-Dienst-Agent
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Weitere Informationen zu Dienst-Agents finden Sie unter Dienst-Agents.

Der Firestore-Dienst-Agent benötigt Zugriff auf den Cloud Storage-Bucket, der für einen Export- oder Importvorgang verwendet wird. Wenn sich Ihr Cloud Storage-Bucket im selben Projekt wie Ihre Firestore-Datenbank befindet, kann der Firestore-Dienst-Agent standardmäßig auf den Bucket zugreifen.

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

Dem Dienst-Agent Rollen zuweisen

Sie können das gsutil-Befehlszeilentool verwenden, um eine der folgenden Rollen zuzuweisen. Führen Sie beispielsweise den folgenden Befehl aus, um dem Firestore-Dienst-Agent die Rolle „Storage-Administrator“ zuzuweisen:

gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \
    gs://[BUCKET_NAME]

Ersetzen Sie PROJECT_NUMBER durch Ihre Projektnummer, die zur Benennung Ihres Firestore-Dienst-Agents verwendet wird. Informationen zum Aufrufen des Namens des Dienst-Agents finden Sie unter Name des Dienst-Agents aufrufen.

Alternativ können Sie diese Rolle über die Google Cloud Console zuweisen.

Name des Dienst-Agents ansehen

Auf der Seite Import/Export in der Google Cloud Console können Sie das Konto einsehen, das Ihre Import- und Exportvorgänge zur Autorisierung von Anfragen verwenden. Sie können auch sehen, ob Ihre Datenbank den Firestore-Dienst-Agent oder das Legacy-App Engine-Dienstkonto verwendet.

  1. Sehen Sie sich das Autorisierungskonto neben dem Label Import-/Exportjobs ausführen als an.

Der Dienst-Agent benötigt die Rolle Storage Admin für den Cloud Storage-Bucket, der für den Export- oder Importvorgang verwendet werden soll.

gcloud für das Projekt einrichten

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

Daten importieren

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

  • Beim Importieren von Daten werden die erforderlichen Indexe mit den aktuellen Indexdefinitionen der Datenbank aktualisiert. Ein Export enthält keine Indexdefinitionen.

  • Beim Importieren werden keine neuen Dokument-IDs zugewiesen. Für den Import werden die IDs verwendet, die zum Zeitpunkt des Exports erfasst wurden. Die ID eines Dokuments wird beim Import reserviert, um ID-Kollisionen zu vermeiden. Wenn ein Dokument mit derselben ID bereits vorhanden ist, wird das vorhandene Dokument durch den Import überschrieben.

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

  • 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, behalten Sie die Dateinamen PARENT_FOLDER_NAME und .overall_export_metadata bei.

  • Ein Import in eine Firestore-Datenbank mit MongoDB-Kompatibilität aus einem Export mit Untersammlungen schlägt fehl, da Untersammlungen in Firestore mit MongoDB-Kompatibilität nicht unterstützt werden.

  • Ein Import in eine Firestore Standard Edition-Datenbank aus einem Export mit BSON-Typen schlägt fehl, da BSON-Typen in der Firestore Standard Edition nicht unterstützt werden.

  • Bei einem Import in eine Firestore-Datenbank mit MongoDB-Kompatibilität können keine Daten aus nicht standardmäßigen Namespaces (Datastore API) importiert werden.

    Ein Import in eine Firestore-Datenbank mit MongoDB-Kompatibilität aus Datendateien, die nicht standardmäßige Namespaces enthalten, ist nur zulässig, wenn der Exportvorgang einen --namespace-ids-Filter mit dem Standard-Namespace enthielt. Es werden nur Daten aus dem Standard-Namespace importiert.

Alle Dokumente aus einem Export importieren

Google Cloud Console

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

    Zur Seite „Datenbanken“

  2. Wählen Sie eine Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

  4. Klicken Sie auf Importieren.

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

  6. Klicken Sie auf Importieren.

Die Console kehrt zur Seite Import/Export zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der letzten Import- und Exportseite einen Eintrag hinzu. Bei einem Fehler wird auf der Seite eine Fehlermeldung angezeigt.

gcloud

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

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]

Ersetzen Sie Folgendes:

  • BUCKET_NAME/EXPORT_PREFIX: Speicherort Ihrer Exportdateien.

  • DATABASE: Name der Datenbank.

Beispiel:

gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'

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

Cloud Storage-Browser öffnen

Wenn Sie einen Import gestartet haben, wird der Vorgang durch Schließen des Terminals nicht abgebrochen. Siehe Vorgang abbrechen.

Bestimmte Sammlungen importieren

Google Cloud Console

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

gcloud

Wenn Sie bestimmte Sammlungen aus einer Reihe von Exportdateien importieren möchten, verwenden Sie das Flag --collection-ids. Bei dem Vorgang werden nur die Sammlungen mit den angegebenen Sammlungs-IDs importiert. Geben Sie den Datenbanknamen mit dem Flag --database an.

Nur ein Export bestimmter Sammlungen unterstützt den Import bestimmter Sammlungen. Der Import bestimmter Sammlungen aus einem Export aller Dokumente ist nicht möglich.

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

Aus einem Export mit PITR-Daten importieren

Führen Sie die gleichen Schritte wie unter Alle Dokumente importieren oder Bestimmte Sammlungen importieren aus, um PITR-Daten zu importieren. Wenn ein Dokument bereits in Ihrer Datenbank vorhanden ist, wird es überschrieben.

Daten exportieren

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

Alle Dokumente exportieren

Google Cloud Console

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

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

  4. Klicken Sie auf Exportieren.

  5. Klicken Sie auf die Option Gesamte Datenbank exportieren.

  6. Wählen Sie Aktuellen Zustand der Datenbank exportieren aus, um aktuelle Daten zu exportieren.

  7. Geben Sie im Abschnitt Ziel den Namen eines Cloud Storage-Bucket ein oder wählen Sie mit dem Button Suchen einen Bucket aus.

  8. Klicken Sie auf Exportieren.

Die Console kehrt zur Seite Import/Export zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der letzten Import- und Exportseite einen Eintrag hinzu. Bei einem Fehler wird auf der Seite eine Fehlermeldung angezeigt.

gcloud

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

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

Ersetzen Sie Folgendes:

  • BUCKET_NAME: Organisieren Sie Ihre Exporte, 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.

  • DATABASE: Name der Datenbank, aus der Sie die Dokumente exportieren möchten.

Wenn Sie einen Export gestartet haben, wird der Vorgang durch Schließen des Terminals nicht abgebrochen. Siehe Vorgang abbrechen.

Bestimmte Sammlungen exportieren

Google Cloud Console

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

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

  4. Klicken Sie auf Exportieren.

  5. Klicken Sie auf die Option Eine oder mehrere Sammlungsgruppen exportieren. Wählen Sie im Drop-down-Menü eine oder mehrere Sammlungen aus.

  6. Wählen Sie Aktuellen Zustand der Datenbank exportieren aus, um aktuelle Daten zu exportieren.

  7. Geben Sie im Abschnitt Ziel den Namen eines Cloud Storage-Bucket ein oder wählen Sie mit dem Button Suchen einen Bucket aus.

  8. Klicken Sie auf Exportieren.

Die Console kehrt zur Seite Import/Export zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der letzten Import- und Exportseite einen Eintrag hinzu. Bei einem Fehler wird auf der Seite eine Fehlermeldung angezeigt.

gcloud

Verwenden Sie das Flag --collection-ids, um bestimmte Sammlungen zu exportieren. Der Vorgang exportiert nur die Sammlungen mit den angegebenen Sammlungs-IDs.

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

Sie können beispielsweise eine restaurants-Sammlung in der foo-Datenbank so entwerfen, dass sie zusätzliche Sammlungen wie ratings, reviews oder outlets enthält. Wenn Sie eine bestimmte Sammlung restaurants und reviews exportieren möchten, sieht der Befehl so aus:

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=restaurants,reviews \
--database='cymbal'

Von einem PITR-Zeitstempel exportieren

Sie können Ihre Datenbank aus PITR-Daten in Cloud Storage exportieren. Sie können PITR-Daten exportieren, deren Zeitstempel ein Zeitstempel für eine ganze Minute innerhalb der letzten sieben Tage ist, aber nicht vor dem earliestVersionTime liegt. Wenn zum angegebenen Zeitstempel keine Daten mehr vorhanden sind, schlägt der Exportvorgang fehl.

Der PITR-Exportvorgang unterstützt alle Filter, einschließlich des Exports aller Dokumente und des Exports bestimmter Sammlungen.

Beachten Sie vor dem Exportieren von PITR-Daten die folgenden Punkte:

  • Aktivieren Sie PITR für Ihre Datenbank. Wenn die Wiederherstellung zu einem bestimmten Zeitpunkt deaktiviert ist, schlägt der Export mit einem Snapshot-Zeitstempel fehl, auch für Zeitstempel innerhalb der letzten Stunde nach earliestVersionTime. Der Exportvorgang gibt den Fehler Point-in-Time Recovery must be enabled in order to execute exports at a snapshot timestamp zurück.
  • Geben Sie den Zeitstempel im RFC 3339-Format an. Beispiel: 2020-09-01T23:59:30.234233Z.
  • Der angegebene Zeitstempel muss ein Zeitstempel mit einer ganzen Minute innerhalb der letzten sieben Tage sein, aber nicht vor dem earliestVersionTime. Wenn am angegebenen Zeitstempel keine Daten mehr vorhanden sind, wird ein Fehler generiert.
  • Für einen fehlgeschlagenen PITR-Export fallen keine Kosten an.

Console

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

    Zur Seite „Datenbanken“
  2. Wählen Sie eine Datenbank aus der Liste der Datenbanken aus.
  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.
  4. Klicken Sie auf Exportieren.
  5. Konfigurieren Sie die Exportquelle so, dass entweder die gesamte Datenbank oder nur bestimmte Sammlungen exportiert werden.
  6. Wählen Sie im Abschnitt Zustand der zu exportierenden Datenbank auswählen die Option Aus einem früheren Zeitpunkt exportieren aus.

    Snapshot-Zeit für den Export auswählen

  7. Geben Sie im Abschnitt Ziel den Namen eines Cloud Storage-Buckets ein oder wählen Sie mit dem Button Suchen einen Bucket aus.
  8. Klicken Sie auf Exportieren.

    Die Console kehrt zur Seite Import/Export zurück. Wenn der Vorgang erfolgreich gestartet wird, fügt die Seite der letzten Import- und Exportseite einen Eintrag hinzu. Bei einem Fehler wird auf der Seite eine Fehlermeldung angezeigt.

gcloud

Sie können Ihre Datenbank aus PITR-Daten mit dem Befehl gcloud firestore export nach Cloud Storage exportieren.

Exportieren Sie die Datenbank und geben Sie für den Parameter snapshot-time einen Wiederherstellungszeitstempel an. Führen Sie den folgenden Befehl aus, um die Datenbank in Ihren Bucket zu exportieren.

gcloud firestore export gs://[BUCKET_NAME_PATH] \
    --snapshot-time=[PITR_TIMESTAMP]

Dabei ist PITR_TIMESTAMP ein PITR-Zeitstempel mit einem Detaillierungsgrad von einer Minute, z. B. 2023-05-26T10:20:00.00Z.

Fügen Sie das Flag --collection-ids hinzu, um bestimmte Sammlungen zu exportieren.

Export- und Importvorgänge verwalten

Nachdem Sie einen Export- oder Importvorgang gestartet haben, weist Firestore mit MongoDB-Kompatibilität dem Vorgang einen eindeutigen Namen zu. Sie können mit diesem Namen den Vorgang löschen, abbrechen oder seinen Status prüfen.

Vorgangsnamen haben das Präfix projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/, zum Beispiel:

projects/my-project/databases/my-database/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

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

Alle Export- und Importvorgänge auflisten

Google Cloud Console

Eine Liste der letzten Export- und Importvorgänge finden Sie in der Google Cloud Console auf der Seite Import/Export.

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

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

gcloud

Verwenden Sie den Befehl operations list, um alle laufenden und kürzlich abgeschlossenen Export- und Importvorgänge anzeigen zu lassen:

gcloud firestore operations list

Vorgangsstatus prüfen

Google Cloud Console

Sie können den Status eines kürzlichen Export- oder Importvorgangs auf der Seite Import/Export der Google Cloud Console ansehen.

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

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

gcloud

Verwenden Sie den Befehl operations describe, um den Status eines Export- oder Importvorgangs anzeigen zu lassen.

gcloud firestore operations describe [OPERATION_NAME]

Fertigstellungszeit schätzen

Eine Anfrage für den Status eines Vorgangs mit langer Ausführungszeit liefert die Messwerte workEstimated und workCompleted. Beide Messwerte werden als Anzahl der Byte und als Anzahl der Entitäten zurückgegeben:

  • workEstimated weist die geschätzte Gesamtzahl der Byte und Dokumente aus, die ein Vorgang verarbeitet. Firestore mit MongoDB-Kompatibilität lässt diesen Messwert möglicherweise aus, wenn keine Schätzung möglich ist.

  • workCompleted weist die Anzahl der bisher verarbeiteten Byte und Dokumente aus. Nachdem der Vorgang abgeschlossen ist, zeigt der Wert die Gesamtanzahl der tatsächlich verarbeiteten Byte und Dokumente an, die möglicherweise größer als der Wert von workEstimated ist.

Teilen Sie workCompleted durch workEstimated, um eine grobe Schätzung des Fortschritts zu erhalten. Diese Schätzung ist möglicherweise ungenau, da sie von der verzögerten Statistikerfassung abhängt.

Vorgang abbrechen

Google Cloud Console

Sie können einen laufenden Export- oder Importvorgang in der Google Cloud Console auf der Seite Import/Export abbrechen.

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

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

In der Tabelle Aktuelle Importe und Exporte enthalten aktuell ausgeführte Vorgänge den Button Abbrechen in der Spalte Abgeschlossen. Klicken Sie auf den Button Abbrechen, um den Vorgang zu beenden. Der Button ändert sich in eine Abbrechen- und, sobald der Vorgang komplett ist, in eine Storniert-Nachricht.

Tabelle „Aktuelle Importe und Exporte“ in der Console, die einen laufenden Datenimport mit der Option „Abbrechen“ zum Beenden des Vorgangs zeigt.

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. Bei einem abgebrochenen Exportvorgang werden die bereits in Cloud Storage exportierten Dokumente beibehalten. Bei einem abgebrochenen Importvorgang werden die bereits an der Datenbank vorgenommenen Aktualisierungen beibehalten. Sie können einen unvollständigen Export nicht importieren.

Vorgang löschen

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

gcloud firestore operations delete [OPERATION_NAME]

Abrechnung und Preise 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 können.

Für Export- und Importvorgänge werden Leseeinheiten und Schreibeinheiten zu den Preisen berechnet, die unter Preise für Firestore mit MongoDB-Kompatibilität aufgeführt sind.

In Cloud Storage gespeicherte Ausgabedateien werden auf Ihre in Cloud Storage gespeicherten Daten angerechnet.

Export- oder Importvorgänge lösen Ihre Google Cloud -Budgetbenachrichtigungen erst nach Abschluss aus. Export- und Importvorgänge wirken sich nicht auf die Nutzung aus, die im Abschnitt „Nutzung“ der Console angezeigt wird.

Preise für Export und Import aufrufen

Bei Export- und Importvorgängen wird das goog-firestoremanaged:exportimport-Label auf in Rechnung gestellte Vorgänge angewendet. Auf der Seite der Cloud Billing-Berichte können Sie über dieses Label Kosten für Import- und Exportvorgänge aufrufen:

Über das Filtermenü auf das Label "goog-firestoremanaged" zugreifen.

Nach BigQuery exportieren

Sie können Daten aus einem Firestore mit MongoDB-Kompatibilitätsexport in BigQuery laden, aber nur, wenn Sie einen collection-ids-Filter angegeben haben. Weitere Informationen finden Sie unter Daten aus Firestore mit MongoDB-Kompatibilitätsexporten laden.

Wenn Sie Firestore mit MongoDB-Kompatibilitätsdaten in BigQuery laden, werden BSON-Datentypen mit dem Datentyp STRING dargestellt.

BigQuery-Spaltenlimit

In BigQuery gilt ein Limit von 10.000 Spalten pro Tabelle. Bei Exportvorgängen von Firestore mit MongoDB-Kompatibilität wird für jede Sammlung ein BigQuery-Tabellenschema generiert. In diesem Schema wird jeder eindeutige Feldname innerhalb einer Sammlung zu einer Schemaspalte.

Wenn das BigQuery-Schema einer Sammlung mehr als 10.000 Spalten umfasst, versucht der Firestore mit MongoDB-Kompatibilität-Exportvorgang, die Spaltenbegrenzung einzuhalten, indem Kartenfelder als Byte behandelt werden. Wenn durch diese Umwandlung die Anzahl der Spalten 10.000 nicht übersteigt, können Sie die Daten in BigQuery laden, aber nicht die Unterfelder innerhalb der Map-Felder abfragen. Wenn die Anzahl der Spalten immer noch mehr als 10.000 beträgt, wird beim Exportvorgang kein BigQuery-Schema für die Sammlung generiert und Sie können die Daten nicht in BigQuery laden.

Exportformat und Metadatendateien

Die Ausgabe eines verwalteten Exports verwendet das LevelDB-Logformat.

Metadatendateien

Bei einem Exportvorgang wird für jede von Ihnen angegebene Sammlung eine Metadatendatei erstellt. Metadatendateien heißen in der Regel ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata.

Die Metadatendateien sind Protokollzwischenspeicher und können mit dem protoc-Protokollcompiler decodiert werden. Sie können beispielsweise eine Metadatendatei decodieren, um die Sammlungen zu ermitteln, die die Exportdateien enthalten:

protoc --decode_raw < export0.export_metadata