Migrar o MongoDB para o Azure Cosmos DB for MongoDB vCore offline usando as ferramentas nativas do MongoDB
APLICA-SE AO: MongoDB vCore
Neste tutorial, você usará as ferramentas nativas do MongoDB para fazer uma migração offline (única) de um banco de dados por meio de uma instância local ou de nuvem do MongoDB para o Azure Cosmos DB for MongoDB vCore. As ferramentas nativas do MongoDB são um conjunto de binários que facilitam a manipulação de dados em uma instância existente do MongoDB. O foco deste documento é a migração de dados para fora de uma instância do MongoDB usando mongoexport/mongoimport ou mongodump/mongorestore. Como as ferramentas nativas se conectam ao MongoDB usando cadeias de conexão, você pode executar as ferramentas em qualquer lugar. As ferramentas nativas podem ser a solução mais simples para pequenos conjuntos de dados em que o tempo total de migração não é uma preocupação.
Pré-requisitos
- Um cluster vCore do Azure Cosmos DB for MongoDB existente.
- Caso não tenha uma assinatura do Azure, crie uma conta gratuitamente.
- Se você tiver uma assinatura existente do Azure, crie um cluster VCore do Azure Cosmos DB for MongoDB.
- Ferramentas nativas do MongoDB instaladas no computador.
Preparação
Antes de iniciar a migração, verifique se você preparou sua conta do Azure Cosmos DB for MongoDB vCore e sua instância existente do MongoDB para a migração.
- Instância do MongoDB (origem)
- Conclua a avaliação pré-migração para determinar se há uma lista de incompatibilidades e avisos entre a instância de origem e a conta de destino.
- Verifique se as ferramentas nativas do MongoDB correspondem à mesma versão da instância existente (origem) do MongoDB.
- Se a sua instância do MongoDB tiver uma versão diferente do Azure Cosmos DB for MongoDB vCore, então instale ambas as versões da ferramenta nativa do MongoDB e use a versão de ferramenta apropriada para o MongoDB e para o Azure Cosmos DB for MongoDB, respectivamente.
- Adicione um usuário com as permissões do
readWrite
, a menos que já exista um. Por fim, use essa credencial com as ferramentas mongoexport e mongodump.
- Azure Cosmos DB for MongoDB vCore (destino)
- Reúna as credenciais da conta do Azure Cosmos DB for MongoDB vCore.
- Defina as configurações de firewall no Azure Cosmos DB for MongoDB vCore.
Dica
Recomendamos executar essas ferramentas na mesma rede da instância do MongoDB para evitar outros problemas de firewall.
Escolha a ferramenta nativa MongoDB apropriada
Há algumas considerações de alto nível ao escolher a ferramenta nativa certa do MongoDB para sua migração offline.
Realizar a migração
Migre uma coleção da instância de origem do MongoDB para a conta de destino do Azure Cosmos DB for MongoDB vCore usando sua ferramenta nativa preferida. Para obter mais informações sobre como selecionar uma ferramenta, confira Ferramentas nativas do MongoDB
Dica
Caso você tenha apenas um pequeno arquivo JSON que deseje importar para o Azure Cosmos DB for MongoDB vCore, a ferramenta mongoimport é uma solução rápida para ingerir os dados.
Para exportar os dados da instância de origem do MongoDB, abra um terminal e use um dos três métodos listados aqui.
Especifique os argumentos
--host
,--username
e--password
para se conectar e exportar registros JSON.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --out <filename>.json
Exporte um subconjunto dos dados do MongoDB adicionando um argumento
--query
. Esse argumento garante que a ferramenta exporte apenas documentos que correspondam ao filtro.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Exportar dados do Azure Cosmos DB for MongoDB vCore.
mongoexport \ --uri <target-connection-string> --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Importe o arquivo exportado anteriormente para a conta de destino do Azure Cosmos DB for MongoDB vCore.
mongoimport \ --file <filename>.json \ --type json \ --db <database-name> \ --collection <collection-name> \ --ssl \ --uri <target-connection-string>
Monitore a saída do terminal de mongoimport. A saída imprime linhas de texto no terminal com atualizações sobre o status da operação de importação.