Что такое эмулятор Azure Cosmos DB?

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

Important

Не рекомендуется использовать эмулятор для рабочих нагрузок.

Tip

Посетите новую коллекцию примеров для последних примеров для создания новых приложений

Различия между эмулятором и облачной службой

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

Important

Эмулятор Linux в настоящее время не поддерживает компьютеры разработчиков, работающие на серии Apple Silicon или чипах ARM от Microsoft. Временное решение заключается в установке Windows виртуальной машины и запуске эмулятора на этой платформе.

Кроме того, можно использовать новый эмулятор Azure Cosmos DB на базе Linux (предварительная версия).

  • Область Data Explorer эмулятора поддерживается только в API для NoSQL и API для MongoDB.
  • Эмулятор поддерживает только подготовленную пропускную способность. Эмулятор не поддерживает бессерверную пропускную способность.
  • Эмулятор использует известный ключ при запуске. Невозможно повторно создать ключ для запущенного эмулятора. Чтобы использовать другой ключ, необходимо запустить эмулятор с указанным пользовательским ключом.
  • Эмулятор не может быть реплицирован между географическими регионами или в нескольких экземплярах. Поддерживается только один запущенный экземпляр эмулятора. Эмулятор не может быть масштабирован.
  • Эмулятор в идеале поддерживает до 10 контейнеров фиксированного размера с производительностью 400 RU/с или 5 контейнеров неограниченного размера. Теоретически можно создать больше контейнеров, но вы можете столкнуться с снижением производительности с помощью эмулятора.
  • Эмулятор поддерживает только уровни согласованности сеанса и строгой согласованности. Эмулятор не является масштабируемой службой и фактически не реализует уровни согласованности. Эмулятор помечает только настроенный уровень согласованности для тестирования.
  • Эмулятор ограничивает уникальный идентификатор элементов размером 254 символов.
  • Эмулятор поддерживает не более пяти JOIN инструкций на запрос.

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

Authentication

Каждый запрос, сделанный в эмуляторе, должен проходить проверку подлинности с помощью ключа по протоколу TLS/SSL. Эмулятор поставляется с одной учетной записью, настроенной для использования известного ключа проверки подлинности. По умолчанию эти учетные данные являются единственными учетными данными, разрешенными для использования с эмулятором:

Value
Конечная точка localhost:8081
Ключ C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Строка соединения AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Tip

С помощью эмулятора Windows (локального) можно также настроить ключ, используемый эмулятором. Дополнительные сведения см. в разделе аргументы эмулятора Windows.

Импорт сертификата эмулятора

В некоторых случаях может потребоваться вручную импортировать сертификат TLS/SS из запущенного контейнера эмулятора на главный компьютер. Этот шаг позволяет избежать неправильных методов, таких как отключение проверки TLS/SSL в пакете SDK. Для получения дополнительной информации см. раздел «Импорт сертификата».

Следующий шаг