MongoDB yerel araçlarını kullanarak MongoDB sanal çekirdeğini çevrimdışı olarak MongoDB için Azure Cosmos DB'ye geçirme
ŞUNLAR IÇIN GEÇERLIDIR: MongoDB sanal çekirdeği
Bu öğreticide, MongoDB'nin şirket içi veya bulut örneğinden MongoDB sanal çekirdeği için Azure Cosmos DB'ye çevrimdışı (tek seferlik) bir veritabanı geçişi gerçekleştirmek için MongoDB yerel araçlarını kullanacaksınız. MongoDB yerel araçları, mevcut bir MongoDB örneğinde veri işlemeyi kolaylaştıran ikili dosyalar kümesidir. Bu belgenin odak noktası mongoexport/mongoimport veya mongodump/mongorestore kullanarak mongoDB örneğinden verileri geçirmektir. Yerel araçlar bağlantı dizesi kullanarak MongoDB'ye bağlandığından, araçları her yerde çalıştırabilirsiniz. Yerel araçlar, toplam geçiş süresinin önemli olmadığı küçük veri kümeleri için en basit çözüm olabilir.
Önkoşullar
- MongoDB için mevcut bir Azure Cosmos DB sanal çekirdek kümesi.
- Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun.
- Mevcut bir Azure aboneliğiniz varsa MongoDB sanal çekirdek kümesi için yeni bir Azure Cosmos DB oluşturun.
- Makinenizde yüklü MongoDB yerel araçları .
Hazırlama
Geçişe başlamadan önce MongoDB için Azure Cosmos DB sanal çekirdek hesabınızı ve mevcut MongoDB örneğinizi geçiş için hazırladığınızdan emin olun.
- MongoDB örneği (kaynak)
- Kaynak örneğinizle hedef hesabınız arasında uyumsuzlukların ve uyarıların listesi olup olmadığını belirlemek için geçiş öncesi değerlendirmesini tamamlayın.
- MongoDB yerel araçlarınızın mevcut (kaynak) MongoDB örneğiyle aynı sürümle eşleştiğinden emin olun.
- MongoDB örneğiniz MongoDB için Azure Cosmos DB sanal çekirdeğinden farklı bir sürüme sahipse, hem MongoDB yerel araç sürümlerini yükleyin hem de mongoDB için uygun araç sürümünü ve MongoDB sanal çekirdeği için Azure Cosmos DB'yi kullanın.
- Zaten bir kullanıcı yoksa, izinleri olan
readWrite
bir kullanıcı ekleyin. Sonunda mongoexport ve mongodump araçlarıyla bu kimlik bilgilerini kullanırsınız.
- MongoDB için Azure Cosmos DB sanal çekirdeği (hedef)
- MongoDB için Azure Cosmos DB sanal çekirdek hesabının kimlik bilgilerini toplayın.
- MongoDB sanal çekirdeği için Azure Cosmos DB'de Güvenlik Duvarı Ayarlarını yapılandırın.
İpucu
Diğer güvenlik duvarı sorunlarını önlemek için bu araçları MongoDB örneğiyle aynı ağ içinde çalıştırmanızı öneririz.
Uygun MongoDB yerel aracını seçin
Çevrimdışı geçişiniz için doğru MongoDB yerel aracını seçerken dikkat edilmesi gereken bazı üst düzey noktalar vardır.
Geçişi gerçekleştirme
Tercih ettiğiniz yerel aracı kullanarak bir koleksiyonu kaynak MongoDB örneğinden hedef MongoDB için Azure Cosmos DB sanal çekirdek hesabına geçirin. Araç seçme hakkında daha fazla bilgi için bkz. yerel MongoDB araçları
İpucu
MongoDB için Azure Cosmos DB sanal çekirdeğine aktarmak istediğiniz küçük bir JSON dosyanız varsa mongoimport aracı, verileri almak için hızlı bir çözümdür.
Kaynak MongoDB örneğinden verileri dışarı aktarmak için bir terminal açın ve burada listelenen üç yöntemden birini kullanın.
JSON kayıtlarına
--host
bağlanmak ve--password
dışarı aktarmak için ,--username
ve bağımsız değişkenlerini belirtin.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --out <filename>.json
Bağımsız değişken ekleyerek MongoDB verilerinin bir
--query
alt kümesini dışarı aktarın. Bu bağımsız değişken, aracın yalnızca filtreyle eşleşen belgeleri dışarı aktarmasını sağlar.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
MongoDB sanal çekirdeği için Azure Cosmos DB'den verileri dışarı aktarın.
mongoexport \ --uri <target-connection-string> --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Daha önce dışarı aktarılan dosyayı MongoDB için hedef Azure Cosmos DB sanal çekirdek hesabına aktarın.
mongoimport \ --file <filename>.json \ --type json \ --db <database-name> \ --collection <collection-name> \ --ssl \ --uri <target-connection-string>
Mongoimport'tan terminal çıkışını izleyin. Çıktı, içeri aktarma işleminin durumuyla ilgili güncelleştirmelerle birlikte metin satırlarını terminale yazdırır.