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.