Aus der Mongo-Quelldatenbank importieren
Auf dieser Seite wird die erste Phase des Migrationsprozesses beschrieben, in der Sie einen Datastream-Stream verwenden, um den Inhalt Ihrer MongoDB-kompatiblen Quelldatenbank zu erfassen und in einen Cloud Storage-Bucket zu übertragen.
YAML-Konfigurationsdateien für den Stream erstellen
Neben den üblichen Befehlszeilen-Flags sind zum Erstellen eines Streams zwei Konfigurationsdateien im YAML-Format erforderlich:
In der Datei
mongo_source_config.yaml
wird die Auswahl bestimmter Ressourcen für die Migration konfiguriert, z. B. der Datenbankname. Parameter für die Mongo-Verbindung wie Hostname, Nutzername und Passwort sind alles Eigenschaften des Verbindungsprofils. Die Datenbank (und alle spezifischen Sammlungen in dieser Datenbank) sind jedoch eine Property des Streams.Mit der Datei
gcs_dst_config.yaml
wird die Datenplatzierung in Cloud Storage konfiguriert. Der Cloud Storage-Bucket und der Stammpfad im Bucket sind Attribute des Verbindungsprofils. Das Datenformat und die Datenplatzierung innerhalb der Cloud Storage-Bucketstruktur sind jedoch eine Eigenschaft des Streams.
In den folgenden Befehlsbeispielen werden diese Dateien erstellt und mit Werten aus den zuvor festgelegten Umgebungsvariablen gefüllt. Alternativ können Sie diese Dateien in einem beliebigen Texteditor erstellen und die Werte manuell ersetzen.
echo "$(cat <<EOF
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
EOF
)" > mongo_source_config.yaml
echo "$(cat <<EOF
path: "/${GCS_BUCKET_SUB_PATH}"
avroFileFormat: {}
EOF
)" > gcs_dst_config.yaml
Im vorherigen Beispiel wird der gesamte Inhalt von $MONGODB_DATABASE_NAME für die Migration konfiguriert. Es ist auch möglich, die Migration auf bestimmte Sammlungen in der Datenbank zu beschränken. Wenn Sie beispielsweise nur die Sammlungen users
und chats
migrieren möchten, verwenden Sie Folgendes:
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
collections:
- collection: users
- collection: chats
Datastream-Stream erstellen
Erstellen Sie als Nächstes einen Stream, der die Quelle und das Ziel verbindet:
gcloud datastream streams create "$DATASTREAM_NAME" \
--display-name="$DATASTREAM_NAME" \
--location="$LOCATION" \
--source="$SRC_CONNECTION_PROFILE_NAME" \
--destination="$DST_CONNECTION_PROFILE_NAME" \
--mongodb-source-config=./mongo_source_config.yaml \
--gcs-destination-config=./gcs_dst_config.yaml \
--backfill-all
Weitere Informationen zum Monitoring der Erstellung von Datastream-Streams finden Sie unter Fehlerbehebung.
Datastream-Stream aktivieren
Aktivieren Sie zum Schluss den neuen Stream.
Wenn der Stream beginnt, Daten abzurufen und Änderungen aus der MongoDB-Quelle zu streamen, können Sie beobachten, wie im Cloud Storage-Bucket unter dem im Verbindungsprofil und im Stream konfigurierten Pfad neue Verzeichnisse und Dateien erstellt werden.
Führen Sie zum Aktivieren des Streams den folgenden Befehl aus:
gcloud datastream streams update "$DATASTREAM_NAME" \
--location="$LOCATION" \
--state=RUNNING \
--update-mask=state
Nächste Schritte
Fahren Sie mit Daten in die Zieldatenbank schreiben fort.