Ошибка при импорте монго в эмулятор Azure Cosmos - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь восстановить данные в эмуляторе Azure Cosmos DB из MongoDB, чтобы протестировать мое приложение.Первоначально я использовал инструмент импорта данных, но после прочтения документации понял, что он предназначен для использования с SQL API для Cosmos DB, когда я хочу использовать MongoDB API.

Я успешно экспортировал свои данные из Mongo в файл jsonс командной строкой:

D:\MongoDb\bin>mongoexport.exe --db Vehicles --collection Cars --out C:\Temp\Cars.json
2018-09-18T10:02:21.210-0400    connected to: localhost
2018-09-18T10:02:21.212-0400    exported 100 records

Затем я пытаюсь импортировать это в эмулятор базы данных Azure Cosmos с помощью следующей команды

D:\MongoDb\bin> mongoimport.exe --host localhost:10255 -u admin -p C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== --ssl --sslAllowInvalidCertificates --db Vehicles --collection Cars --type json --file "C:\Temp\Cars.json"

Однако я получаю следующую ошибку:

2018-09-18T11:00:38.829-0400    Failed: error connecting to db server: Database Account admin does not exist
ActivityId: ada5953a-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/1.22.0.0
2018-09-18T11:00:38.830-0400    imported 0 documents

Я создал базу данных в эмуляторе баз данных Azure Cosmos под названием «Транспортные средства с коллекцией автомобилей», поэтому не уверен, что я делаю неправильно, или эмулятор Azure Cosmos не может быть использован для моих попыток?

Я попытался изменить администратора на «Транспортные средства» в сценарии командной строки, но получил ту же ошибку.

В эмуляторе Azure Cosmos DB это моя строка подключения Mongo, из которой я извлекал данные для импорта

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

В идеале я хочу, чтобы эмулятор работал как способ локального тестирования

1 Ответ

0 голосов
/ 18 сентября 2018

Имя DatabaseAccount в эмуляторе CosmosDB равно localhost, а не admin, поэтому строка mongoimport.exe должна выглядеть следующим образом:

D:\MongoDb\bin> mongoimport.exe --host localhost:10255 -u localhost -p C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== --ssl --sslAllowInvalidCertificates --db Vehicles --collection Cars --type json --file "C:\Temp\Cars.json"
...