Importa desde la base de datos de Mongo de origen
En esta página, se describe la primera etapa del proceso de migración, en la que usas una transmisión de Datastream para capturar el contenido de tu base de datos de origen compatible con MongoDB y transferirlo a un bucket de Cloud Storage.
Crea archivos de configuración YAML para la transmisión
Además de las marcas habituales de la línea de comandos, la creación de una transmisión requiere dos archivos de configuración en formato YAML:
El archivo
mongo_source_config.yaml
configura la selección de recursos específicos para la migración, como el nombre de la base de datos. Los parámetros de conectividad de Mongo, como el nombre de host, el nombre de usuario y la contraseña, son todas propiedades del perfil de conexión. Sin embargo, la base de datos (y cualquier colección específica dentro de ella) es una propiedad del flujo.El archivo
gcs_dst_config.yaml
configura la ubicación de los datos en Cloud Storage. El bucket de Cloud Storage y la ruta de acceso raíz dentro del bucket son propiedades del perfil de conexión. Sin embargo, el formato y la ubicación de los datos dentro de la estructura del bucket de Cloud Storage son propiedades de la transmisión.
En los siguientes ejemplos de comandos, se crean estos archivos y se propagan con valores de las variables de entorno que configuraste antes. Como alternativa, puedes crear estos archivos en cualquier editor de texto y sustituir los valores de forma manual.
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
En el ejemplo anterior, se configura el contenido completo de $MONGODB_DATABASE_NAME para la migración. También es posible limitar la migración a colecciones específicas dentro de la base de datos. Por ejemplo, para migrar solo las colecciones users
y chats
, usa el siguiente comando:
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
collections:
- collection: users
- collection: chats
Crea un flujo de Datastream
A continuación, crea una transmisión que conecte la fuente y el destino:
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
Para obtener más información sobre cómo supervisar la creación de transmisiones de Datastream, consulta Solución de problemas.
Activa el flujo de Datastream
Por último, activa la nueva transmisión.
A medida que la transmisión comienza a extraer datos y a transmitir cambios desde la fuente de MongoDB, puedes observar que se crean nuevos directorios y archivos en el bucket de Cloud Storage, en la ruta de acceso configurada en el perfil de conexión y la transmisión.
Para activar la transmisión, ejecuta el siguiente comando:
gcloud datastream streams update "$DATASTREAM_NAME" \
--location="$LOCATION" \
--state=RUNNING \
--update-mask=state
¿Qué sigue?
Continúa con Escribe datos en la base de datos de destino.