Nur für die Cloud Firestore Enterprise-Edition relevant. |
Mit dem verwalteten Export- und Importdienst können Sie versehentlich gelöschte Daten wiederherstellen und Daten für die Offlineverarbeitung 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. Aus einer Cloud Firestore-Datenbank mit MongoDB-Kompatibilität exportierte Daten können in eine andere Cloud Firestore-Datenbank mit MongoDB-Kompatibilität importiert werden. Sie können auch Cloud Firestore-Exporte mit MongoDB-Kompatibilität in BigQuery laden.
Auf dieser Seite wird beschrieben, wie Sie Cloud Firestore-Dokumente mit MongoDB-Kompatibilität mithilfe des verwalteten Export- und Importdienstes und von Cloud Storage exportieren und importieren. Der von Cloud Firestore mit MongoDB-Kompatibilität verwaltete Export- und Importdienst ist über das gcloud
-Befehlszeilentool und die Cloud 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:
- Aktivieren Sie die Abrechnung für Ihr Google Cloud-Projekt. Die Export- und Importfunktionalität kann nur für Google Cloud-Projekte mit aktivierter Abrechnung verwendet werden.
- Erstellen Sie einen Cloud Storage-Bucket für Ihr Projekt an einem Ort in der Nähe des Speicherorts Ihrer Cloud Firestore-Datenbank mit MongoDB-Kompatibilität. Sie können für Export- und Importvorgänge keinen Bucket mit der Funktion "Anforderer bezahlt" verwenden.
-
Achten Sie darauf, dass Ihr Konto die erforderlichen Berechtigungen für Cloud Firestore mit MongoDB-Kompatibilität und Cloud Storage hat. Wenn Sie der Projektinhaber sind, enthält Ihr Konto bereits 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 mit MongoDB-Kompatibilitätsrollen:
Owner
,Cloud Datastore Owner
oderCloud Datastore Import Export Admin
Cloud Storage-Rollen:
Owner
oderStorage Admin
- Cloud Firestore mit MongoDB-Kompatibilitätsrollen:
Berechtigungen des Dienst-Agents
Bei Export- und Importvorgängen wird ein Cloud Firestore-Dienst-Agent verwendet, um Cloud Storage-Vorgänge zu autorisieren. Der Cloud Firestore-Dienst-Agent verwendet die folgende Namenskonvention:
- Cloud Firestore-Kundenservicemitarbeiter
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Weitere Informationen zu Dienst-Agents finden Sie unter Dienst-Agents.
Der Dienst-Agent Cloud Firestore benötigt Zugriff auf den Bucket Cloud Storage, der in einem Export- oder Importvorgang verwendet wird. Wenn sich Ihr Cloud Storage-Bucket im selben Projekt wie Ihre Cloud Firestore-Datenbank befindet, kann der Cloud Firestore-Dienst-Agent standardmäßig auf den Bucket zugreifen.
Wenn sich der Cloud Storage-Bucket in einem anderen Projekt befindet, müssen Sie dem Cloud Firestore-Dienst-Agent Zugriff auf den Cloud Storage-Bucket gewähren.
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 Dienst-Agent Cloud Firestore die Rolle des Storage-Administrators 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 die Projektnummer, die zum Benennen des Cloud Firestore-Dienst-Agents verwendet wird. Informationen zum Anzeigen des Dienst-Agent-Namens finden Sie unter Dienst-Agent-Namen ansehen.
Alternativ können Sie diese Rolle über die Google Cloud Console zuweisen.
Name des Dienst-Agents ansehen
Das Konto, mit dem Ihre Import- und Exportvorgänge Anfragen autorisieren, können Sie in der Google Cloud Console auf der Seite Import/Export einsehen. Sie können auch sehen, ob in Ihrer Datenbank der Cloud Firestore-Dienst-Agent oder das alte App Engine-Dienstkonto verwendet wird.
- Das Autorisierungskonto wird neben dem Label Import-/Exportjobs werden ausgeführt als angezeigt.
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. Richten Sie das Befehlszeilentool ein, um gcloud
zu verwenden, und stellen Sie mit einer der folgenden Methoden eine Verbindung zu Ihrem Projekt her:
Rufen Sie
gcloud
über die Google Cloud-Konsole mit Cloud Shell auf.Starten Cloud Shell
Achten Sie darauf, dass
gcloud
für das richtige Projekt konfiguriert ist:gcloud config set project [PROJECT_ID]
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 den Dateinamen PARENT_FOLDER_NAME und
.overall_export_metadata
bei.Ein Import in eine Cloud Firestore-Datenbank mit MongoDB-Kompatibilität aus einem Export mit untergeordneten Sammlungen schlägt fehl, da untergeordnete Sammlungen in Cloud Firestore mit MongoDB-Kompatibilität nicht unterstützt werden.
Ein Import in eine Cloud Firestore Standard Edition-Datenbank aus einem Export mit BSON-Typen schlägt fehl, da BSON-Typen in Cloud Firestore Standard Edition nicht unterstützt werden.
Beim Import in eine Cloud Firestore-Datenbank mit MongoDB-Kompatibilität können keine Daten aus nicht standardmäßigen Namespaces (Datastore API) importiert werden.
Ein Import in eine Cloud 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
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie eine Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Import/Export.
Klicken Sie auf Importieren.
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.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:
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
Verwenden Sie das Flag --collection-ids
, um bestimmte Sammlungen aus einer Gruppe von Exportdateien zu importieren. 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
Verwenden Sie dieselben Schritte wie unter Alle Dokumente importieren oder Bestimmte Sammlungen importieren, um PITR-Daten zu importieren. Wenn bereits Dokumente in Ihrer Datenbank vorhanden sind, werden sie ü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
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Import/Export.
Klicken Sie auf Exportieren.
Klicken Sie auf die Option Gesamte Datenbank exportieren.
Wählen Sie Aktuellen Zustand der Datenbank exportieren aus, um aktuelle Daten zu exportieren.
Geben Sie im Bereich Ziel den Namen eines Cloud Storage-Buckets ein oder wählen Sie mit der Schaltfläche Durchsuchen einen Bucket aus.
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
: Sie können Ihre Exporte organisieren, indem Sie hinter den Bucket-Namen ein Dateipräfix hinzufügen, z. B.BUCKET_NAME/my-exports-folder/export-name
. Wenn Sie kein Dateipräfix angeben, wird vom verwalteten Exportdienst ein Präfix auf Basis des aktuellen Zeitstempels erstellt.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
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Import/Export.
Klicken Sie auf Exportieren.
Klicken Sie auf die Option Eine oder mehrere Sammlungsgruppen exportieren. Wählen Sie im Drop-down-Menü eine oder mehrere Sammlungen aus.
Wählen Sie Aktuellen Zustand der Datenbank exportieren aus, um aktuelle Daten zu exportieren.
Geben Sie im Bereich Ziel den Namen eines Cloud Storage-Buckets ein oder wählen Sie mit der Schaltfläche Durchsuchen einen Bucket aus.
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. Bei diesem Vorgang werden nur die Sammlungen mit den angegebenen Sammlungs-IDs exportiert.
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 erstellen, die zusätzliche Sammlungen wie ratings
, reviews
oder outlets
enthält. Wenn Sie bestimmte Sammlungen restaurants
und reviews
exportieren möchten, sieht der Befehl so aus:
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=restaurants,reviews \ --database='cymbal'
Aus einem PITR-Zeitstempel exportieren
Sie können Ihre Datenbank aus PITR-Daten nach Cloud Storage exportieren.
Sie können PITR-Daten exportieren, deren Zeitstempel ein Zeitstempel für eine volle Minute innerhalb der letzten sieben Tage ist, aber nicht vor dem earliestVersionTime
. 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:
- Geben Sie den Zeitstempel im RFC 3339-Format an. Beispiel:
2020-09-01T23:59:30.234233Z
. - Achten Sie darauf, dass der von Ihnen angegebene Zeitstempel ein Zeitstempel für eine volle Minute innerhalb der letzten sieben Tage ist, aber nicht vor dem
earliestVersionTime
. Wenn zum angegebenen Zeitstempel keine Daten mehr vorhanden sind, wird ein Fehler generiert. - Ein fehlgeschlagener PITR-Export wird Ihnen nicht in Rechnung gestellt.
Console
-
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Zur Seite „Datenbanken“ - Wählen Sie eine Datenbank aus der Liste der Datenbanken aus.
- Klicken Sie im Navigationsmenü auf Import/Export.
- Klicken Sie auf Exportieren.
- Konfigurieren Sie die Exportquelle so, dass entweder die gesamte Datenbank oder nur bestimmte Sammlungen exportiert werden.
Wählen Sie im Abschnitt Zustand der zu exportierenden Datenbank auswählen die Option Von einem früheren Zeitpunkt exportieren aus.
Snapshot-Zeit für den Export auswählen
- Geben Sie im Abschnitt Ziel den Namen eines Cloud Storage-Buckets ein oder wählen Sie mit der Schaltfläche Durchsuchen einen Bucket aus.
-
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 mit dem Befehl gcloud firestore export
aus PITR-Daten 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 Minutengranularität, 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 Cloud 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.
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Import/Export.
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 einsehen.
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Import/Export.
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. Bei Cloud Firestore mit MongoDB-Kompatibilität wird diese Messwert möglicherweise ausgelassen, 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 vonworkEstimated
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 laufende Export- oder Importvorgänge auf der Seite Import/Export der Google Cloud Console abbrechen.
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Import/Export.
In der Tabelle Aktuelle Importe und Exporte enthalten aktuell ausgeführte Vorgänge die Schaltfläche Abbrechen in der Spalte Abgeschlossen. Klicken Sie auf die Schaltfläche Abbrechen, um den Vorgang zu beenden. Die Schaltfläche ändert sich in eine Abbrechen- und, sobald der Vorgang komplett ist, in eine Storniert-Nachricht.
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
Damit Sie den verwalteten Export- und Importdienst verwenden können, müssen Sie die Abrechnung für Ihr Google Cloud-Projekt aktivieren.
Für Export- und Importvorgänge werden die Lese- und Schreibeinheiten zu den Preisen berechnet, die unter Preise für Cloud Firestore mit MongoDB-Kompatibilität angegeben sind.
In Cloud Storage gespeicherte Ausgabedateien werden auf Ihre Cloud Storage-Datenspeicherkosten angerechnet.
Export- oder Importvorgänge werden erst nach Abschluss auf das Google Cloud-Budget angerechnet. Export- und Importvorgänge wirken sich nicht auf die im Abschnitt „Nutzung“ der Konsole angezeigte Nutzung aus.
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:
Nach BigQuery exportieren
Wenn Sie einen collection-ids
-Filter angegeben haben, können Sie Daten aus einem Cloud Firestore mit MongoDB-Kompatibilität-Export in BigQuery laden. Weitere Informationen finden Sie unter Daten aus Cloud Firestore-Exporten mit MongoDB-Kompatibilität laden.
Beim Laden von Cloud Firestore-Daten mit MongoDB-Kompatibilität in BigQuery werden BSON-Datentypen mit dem Datentyp STRING
dargestellt.
BigQuery Spaltenlimit
In BigQuery gilt ein Limit von 10.000 Spalten pro Tabelle. Cloud Firestore mit MongoDB-Kompatibilität-Exportvorgänge generieren für jede Sammlung ein BigQuery-Tabellenschema. In diesem Schema dient jeder eindeutige Feldname innerhalb einer Sammlung als Schemaspalte.
Wenn das BigQuery-Schema einer Sammlung mehr als 10.000 Spalten umfasst, wird beim Cloud Firestore-Exportvorgang mit MongoDB-Kompatibilität versucht, unter der Spaltenbeschränkung zu bleiben, 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 über 10.000 beträgt, erzeugt der Exportvorgang kein BigQuery-Schema für die Sammlung und die Daten können nicht in BigQuery geladen werden.
Exportformat und Metadatendateien
Die Ausgabe eines verwalteten Exports verwendet das LevelDB-Logformat.
Metadatendateien
Beim 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 Protokollpuffer und können mit dem Protokollcompiler protoc
decodiert werden.
Sie können beispielsweise eine Metadatendatei decodieren, um die Sammlungen zu bestimmen, die die Exportdateien enthalten:
protoc --decode_raw < export0.export_metadata