Écrire des données dans la base de données Firestore

Cette page décrit la deuxième étape du processus de migration, au cours de laquelle vous configurez un pipeline Dataflow et commencez à déplacer simultanément les données du bucket Cloud Storage vers votre base de données de destination Firestore compatible avec MongoDB. Cette opération s'exécutera simultanément avec le flux Datastream.

Démarrer le pipeline Dataflow

La commande suivante démarre un nouveau pipeline Dataflow portant un nom unique.

Les formats suivants sont acceptés :

  • inputFilePattern=gs://bucket-name/migration/attempt_1/
  • inputFilePattern=gs://bucket-name/migration/
  • inputFilePattern=gs://bucket-name/

Formats non compatibles :

  • inputFilePattern=gs://bucket-name/**/*
DATAFLOW_START_TIME="$(date +'%Y%m%d%H%M%S')"

gcloud dataflow flex-template run "dataflow-mongodb-to-firestore-$DATAFLOW_START_TIME" \
--template-file-gcs-location gs://dataflow-templates-us-central1/latest/flex/Cloud_Datastream_MongoDB_to_Firestore \
--region $LOCATION \
--num-workers $NUM_WORKERS \
--temp-location $TEMP_OUTPUT_LOCATION \
--additional-user-labels "" \
--parameters inputFilePattern=$INPUT_FILE_LOCATION,\
inputFileFormat=avro,\
fileReadConcurrency=10,\
connectionUri=$FIRESTORE_CONNECTION_URI,\
databaseName=$FIRESTORE_DATABASE_NAME,\
shadowCollectionPrefix=shadow_,\
batchSize=500,\
deadLetterQueueDirectory=$DLQ_LOCATION,\
dlqRetryMinutes=10,\
dlqMaxRetryCount=500,\
processBackfillFirst=false,\
useShadowTablesForBackfill=true,\
runMode=regular,\
directoryWatchDurationInMinutes=20,\
streamName=$DATASTREAM_NAME,\
stagingLocation=$STAGING_LOCATION,\
autoscalingAlgorithm=THROUGHPUT_BASED,\
maxNumWorkers=$MAX_WORKERS,\
workerMachineType=$WORKER_TYPE

Pour en savoir plus sur la surveillance du pipeline Dataflow, consultez Dépannage.

Étapes suivantes

Passez à Migrer le trafic vers Firestore.