Как импортировать данные в эмулятор cosmos db

#azure-cosmosdb #azure-cosmosdb-emulator #azure-cosmosdb-data-migration-tool

Вопрос:

У меня есть база данных разработчиков и контроля качества Azure Cosmos Db с 3 или 4 коллекциями. Я хотел бы иметь возможность сделать снимок этих данных и скопировать их локально, чтобы я мог использовать их для локальной разработки с помощью эмулятора Cosmos Db. Я видел инструмент переноса данных, и хотя в нем упоминается копирование ИЗ эмулятора, в нем не упоминается, можно ли копировать в эмулятор. Кто-нибудь знает, может ли он или другой инструмент копировать данные из базы данных Azure Cosmos в локальный эмулятор, и если да, то есть ли какие-либо специальные шаги для этого? Или есть более простой способ просто экспортировать коллекции cosmos, чтобы я мог импортировать их локально? Я только что попробовал и получил сообщение об ошибке «Запрос выполняется с запрещенным шифрованием в транзитном протоколе или шифре. Я перепробовал все 3 режима подключения.

Спасибо!

введите описание изображения здесь

Ответ №1:

Можете ли вы попробовать этот обходной путь, предложенный в проблеме Github?

  • Получите текущие настройки, необходимые для cmd: netsh http show sslcert >>> C:tempnetsh.output.txt
  • Найдите в выходном файле 0.0.0.0:8081 или любой другой порт, который вы используете
  • Установите флаги из cmd: netsh http обновление sslcert ipport=0.0.0.0:8081 appid={00000000-0000-0000-0000-9134d4f81626} certash=b35df09d20000000000019ad39c6170000000000 имя сертификата=Мой disabletls13=включить

Значения для appid и certhash должны быть получены из выходного файла, полученного на шаге 1. Важной частью является disabletls13=включить. Вам нужны все эти биты, чтобы команда работала.

Ответ №2:

Эта проблема с подключением может быть вызвана глобальными изменениями в операционной системе или настройках браузера, которые по умолчанию включают протокол TLS 1.3. Эмулятор Cosmos принимает и работает только с протоколом TLS 1.2.

Убедитесь, что средство переноса данных использует протокол TLS 1.2. При подключении к учетным записям Azure Cosmos используйте платформу .NET Framework версии 4.7.

Измените настройки и значение по умолчанию на TLS 1.2; например, в Диспетчере служб IIS перейдите в раздел «Сайты» -> «Веб-сайты по умолчанию» и найдите «Привязки сайтов» для порта 8081 и измените их, чтобы отключить TLS 1.3. Аналогичная операция может быть выполнена для веб-браузера с помощью параметров «Настройки».

Проверьте этот документ на предмет устранения неполадок с подключением.

Средство миграции базы данных для Azure Cosmos DB:

Эмулятор Azure Cosmos DB поддерживает только безопасную связь по протоколу TLS. Эмулятор Azure Cosmos DB поддерживает единую фиксированную учетную запись и хорошо известный ключ аутентификации для аутентификации по первичному ключу. Эта учетная запись и ключ являются единственными учетными данными, разрешенными для использования с эмулятором Azure Cosmos DB.

Создайте строку подключения, как показано ниже, в инструменте миграции данных для источника (Azure Cosmos DB) и цели (перечислитель Cosmos DB).

 AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;.
 

введите описание изображения здесь