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.