Importar do banco de dados Mongo de origem

Nesta página, descrevemos a primeira etapa do processo de migração, em que você usa um stream do Datastream para capturar o conteúdo do banco de dados de origem compatível com o MongoDB e transferi-lo para um bucket do Cloud Storage.

Criar arquivos de configuração YAML para o stream

Além das flags de linha de comando comuns, a criação de um fluxo exige dois arquivos de configuração no formato YAML:

  • O arquivo mongo_source_config.yaml configura a seleção de recursos específicos para migração, como o nome do banco de dados. Os parâmetros de conectividade do Mongo, como nome do host, nome de usuário e senha, são todas propriedades do perfil de conexão. No entanto, o banco de dados (e qualquer coleção específica dentro dele) é uma propriedade do fluxo.

  • O arquivo gcs_dst_config.yaml configura o posicionamento dos dados no Cloud Storage. O bucket do Cloud Storage e o caminho raiz dentro do bucket são propriedades do perfil de conexão. No entanto, o formato e o posicionamento dos dados na estrutura do bucket do Cloud Storage são uma propriedade do fluxo.

Os exemplos de comando a seguir criam esses arquivos e os preenchem com valores das variáveis de ambiente que você definiu anteriormente. Como alternativa, crie esses arquivos em qualquer editor de texto e substitua 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 todo o conteúdo de $MONGODB_DATABASE_NAME para migração. Também é possível limitar a migração a coleções específicas no banco 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

Criar um stream do Datastream

Em seguida, crie um stream que conecte 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 como monitorar a criação de streams do Datastream, consulte Solução de problemas.

Ativar o stream do Datastream

Por fim, ative o novo stream.

À medida que o stream começa a extrair dados e transmitir mudanças da fonte do Mongo, é possível observar novos diretórios e arquivos criados no bucket do Cloud Storage, no caminho configurado no perfil de conexão e no stream.

Para ativar o stream, execute o seguinte comando:

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

A seguir

Acesse Gravar dados no banco de dados de destino.