Importa dal database Mongo di origine

Questa pagina descrive la prima fase del processo di migrazione in cui utilizzi uno stream Datastream per acquisire i contenuti del database di origine compatibile con MongoDB e trasferirli in un bucket Cloud Storage.

Crea file di configurazione YAML per lo stream

Oltre ai normali flag della riga di comando, la creazione di uno stream richiede due file di configurazione in formato YAML:

  • Il file mongo_source_config.yaml configura la selezione di risorse specifiche per la migrazione, ad esempio il nome del database. I parametri di connettività Mongo, come nome host, nome utente e password, sono tutte proprietà del profilo di connessione. Tuttavia, il database (e qualsiasi raccolta specifica al suo interno) è una proprietà dello stream.

  • Il file gcs_dst_config.yaml configura il posizionamento dei dati all'interno di Cloud Storage. Il bucket Cloud Storage e il percorso radice all'interno del bucket sono proprietà del profilo di connessione. Tuttavia, il formato e il posizionamento dei dati all'interno della struttura del bucket Cloud Storage sono una proprietà dello stream.

I seguenti esempi di comandi creano questi file e li compilano con i valori delle variabili di ambiente che hai impostato in precedenza. In alternativa, puoi creare questi file in qualsiasi editor di testo e sostituire i valori manualmente.

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

L'esempio precedente configura l'intero contenuto di $MONGODB_DATABASE_NAME per la migrazione. È anche possibile limitare la migrazione a raccolte specifiche all'interno del database. Ad esempio, per eseguire la migrazione solo delle raccolte users e chats, utilizza quanto segue:

includeObjects:
  databases:
  - database: ${MONGODB_DATABASE_NAME}
    collections:
      - collection: users
      - collection: chats

Crea uno stream Datastream

Successivamente, crea un flusso che colleghi l'origine e la destinazione:

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

Per ulteriori informazioni sul monitoraggio della creazione dello stream Datastream, consulta la sezione Risoluzione dei problemi.

Attiva lo stream Datastream

Infine, attiva il nuovo stream.

Quando il flusso inizia a estrarre i dati e a trasmettere in streaming le modifiche dall'origine MongoDB, puoi osservare le nuove directory e i nuovi file creati nel bucket Cloud Storage, nel percorso configurato nel profilo di connessione e nel flusso.

Per attivare lo stream, esegui questo comando:

gcloud datastream streams update "$DATASTREAM_NAME" \
--location="$LOCATION" \
--state=RUNNING \
--update-mask=state

Passaggi successivi

Vai a Scrivere i dati nel database di destinazione.