Importer depuis la base de données Mongo source

Cette page décrit la première étape du processus de migration, qui consiste à utiliser un flux Datastream pour capturer le contenu de votre base de données source compatible avec MongoDB et le transférer dans un bucket Cloud Storage.

Créer des fichiers de configuration YAML pour le flux

En plus des indicateurs de ligne de commande habituels, la création d'un flux nécessite deux fichiers de configuration au format YAML :

  • Le fichier mongo_source_config.yaml configure la sélection de ressources spécifiques à migrer, comme le nom de la base de données. Les paramètres de connectivité Mongo, tels que le nom d'hôte, le nom d'utilisateur et le mot de passe, sont tous des propriétés du profil de connexion. Toutefois, la base de données (et les collections spécifiques qu'elle contient) sont une propriété du flux.

  • Le fichier gcs_dst_config.yaml configure l'emplacement des données dans Cloud Storage. Le bucket Cloud Storage et le chemin racine dans le bucket sont des propriétés du profil de connexion. Toutefois, le format et l'emplacement des données dans la structure du bucket Cloud Storage sont des propriétés du flux.

Les exemples de commandes suivants créent ces fichiers et les remplissent avec les valeurs des variables d'environnement que vous avez définies précédemment. Vous pouvez également créer ces fichiers dans n'importe quel éditeur de texte et remplacer les valeurs manuellement.

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'exemple précédent configure l'intégralité du contenu de $MONGODB_DATABASE_NAME pour la migration. Il est également possible de limiter la migration à des collections spécifiques de la base de données. Par exemple, pour migrer uniquement les collections users et chats, utilisez la commande suivante :

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

Créer un flux Datastream

Ensuite, créez un flux qui relie la source et la destination :

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

Pour en savoir plus sur la surveillance de la création de flux Datastream, consultez Dépannage.

Activer le flux Datastream

Enfin, activez le nouveau flux.

Lorsque le flux commence à extraire des données et à diffuser les modifications de la source MongoDB, vous pouvez observer la création de nouveaux répertoires et fichiers dans le bucket Cloud Storage, sous le chemin d'accès configuré dans le profil de connexion et le flux.

Pour activer le flux, exécutez la commande suivante :

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

Étapes suivantes

Passez à la section Écrire des données dans la base de données de destination.