Importar desde la base de datos Mongo de origen
En esta página se describe la primera fase del proceso de migración, en la que se usa un flujo de Datastream para capturar el contenido de la base de datos de origen compatible con MongoDB y transferirlo a un segmento de Cloud Storage.
Crear archivos de configuración YAML para el flujo
Además de los indicadores habituales de la línea de comandos, para crear una emisión se necesitan 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 MongoDB, como el nombre de host, el nombre de usuario y la contraseña, son propiedades del perfil de conexión. Sin embargo, la base de datos (y cualquier colección específica de esa base de datos) son propiedad del flujo.El archivo
gcs_dst_config.yaml
configura la colocación de los datos en Cloud Storage. El segmento de Cloud Storage y la ruta raíz del segmento son propiedades del perfil de conexión. Sin embargo, el formato de los datos y su ubicación en la estructura del segmento de Cloud Storage son propiedades del flujo.
En los siguientes ejemplos de comandos se crean estos archivos y se rellenan con los valores de las variables de entorno que has definido anteriormente. También puedes crear estos archivos en cualquier editor de texto y sustituir los valores 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
En el ejemplo anterior, se configura todo el contenido de $MONGODB_DATABASE_NAME para la migración. También es posible limitar la migración a colecciones específicas de la base de datos. Por ejemplo, para migrar solo las colecciones users
y chats
, utilice lo siguiente:
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
collections:
- collection: users
- collection: chats
Crear un flujo de Datastream
A continuación, cree un flujo que conecte el origen 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 monitorizar la creación de flujos de Datastream, consulta la sección Solución de problemas.
Activar el flujo de Datastream
Por último, activa el nuevo flujo.
Cuando el flujo empiece a extraer datos y a transmitir los cambios de la fuente de MongoDB, podrás ver los nuevos directorios y archivos que se creen en el segmento de Cloud Storage, en la ruta configurada en el perfil de conexión y en el flujo.
Para activar el flujo, ejecuta el siguiente comando:
gcloud datastream streams update "$DATASTREAM_NAME" \
--location="$LOCATION" \
--state=RUNNING \
--update-mask=state
Siguientes pasos
Ve a la sección Escribir datos en la base de datos de destino.