Importe a partir da base de dados Mongo de origem

Esta página descreve a primeira fase do processo de migração em que usa um fluxo do Datastream para capturar o conteúdo da sua base de dados de origem compatível com o MongoDB e transferi-lo para um contentor do Cloud Storage.

Crie ficheiros de configuração YAML para a stream

Além das flags de linha de comandos habituais, a criação de uma stream requer dois ficheiros de configuração no formato YAML:

  • O ficheiro mongo_source_config.yaml configura a seleção de recursos específicos para a migração, como o nome da base de dados. Os parâmetros de conetividade do Mongo, como o nome de anfitrião, o nome de utilizador e a palavra-passe, são todas propriedades do perfil de ligação. No entanto, a base de dados (e quaisquer coleções específicas nessa base de dados) são uma propriedade da stream.

  • O ficheiro gcs_dst_config.yaml configura o posicionamento dos dados no Cloud Storage. O contentor do Cloud Storage e o caminho raiz no contentor são propriedades do perfil de associação. No entanto, o formato dos dados e o posicionamento dos dados na estrutura do contentor do Cloud Storage são uma propriedade da stream.

Os exemplos de comandos seguintes criam estes ficheiros e preenchem-nos com valores das variáveis de ambiente que definiu anteriormente. Em alternativa, pode criar estes ficheiros em qualquer editor de texto e substituir os 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

O exemplo anterior configura o conteúdo completo de $MONGODB_DATABASE_NAME para a migração. Também é possível limitar a migração a coleções específicas na base de dados. Por exemplo, para migrar apenas as coleções users e chats, use o seguinte:

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

Crie uma stream do Datastream

Em seguida, crie uma stream que associe a origem e o 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 mais informações sobre a monitorização da criação do fluxo de dados, consulte a secção Resolução de problemas.

Ative a stream de dados

Por fim, ative a nova stream.

À medida que a stream começa a extrair dados e a transmitir alterações da origem do Mongo, pode observar novos diretórios e ficheiros criados no contentor do Cloud Storage, no caminho configurado no perfil de ligação e na stream.

Para ativar a stream, execute o seguinte comando:

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

O que se segue?

Prossiga para Escrever dados na base de dados de destino.