Qual é o emulador de Azure Cosmos DB?

O emulador de Azure Cosmos DB fornece um ambiente local que emula o serviço Azure Cosmos DB projetado para fins de desenvolvimento. Usando o emulador, você pode desenvolver e testar seu aplicativo localmente, sem criar uma assinatura Azure ou incorrer em custos de serviço. Quando estiver satisfeito com o funcionamento do aplicativo com o emulador, você poderá fazer a transição para usar uma conta Azure Cosmos DB com o mínimo de atrito.

Importante

Não recomendamos o uso do emulador para cargas de trabalho de produção.

Tip

Visite nossa nova Galeria de Exemplos para obter os exemplos mais recentes para criar novos aplicativos

Diferenças entre o emulador e o serviço de nuvem

O emulador fornece um ambiente no workspace do desenvolvedor que não é capaz de emular todos os aspectos do serviço Azure Cosmos DB. Aqui estão algumas diferenças importantes na funcionalidade entre o emulador e o serviço de nuvem equivalente.

Importante

Atualmente, o emulador do Linux não dá suporte a máquinas de desenvolvedor em execução na série Apple Silicon ou nos chips ARM da Microsoft. Uma solução alternativa temporária é instalar uma máquina virtual Windows e executar o emulador nessa plataforma.

Como alternativa, você pode usar o novo emulador de Azure Cosmos DB baseado em Linux (versão prévia).

  • O painel Data Explorer do emulador só tem suporte na API para NoSQL e API para MongoDB.
  • O emulador só dá suporte à taxa de transferência provisionada. O emulador não dá suporte à taxa de transferência sem servidor .
  • O emulador usa uma chave bem conhecida quando é iniciado. Não é possível regenerar a chave para o emulador em execução. Para usar uma chave diferente, você deve iniciar o emulador com a chave personalizada especificada.
  • O emulador não pode ser replicado entre regiões geográficas ou várias instâncias. Há suporte apenas para uma única instância em execução do emulador. O emulador não pode ter sua capacidade aumentada.
  • O emulador idealmente dá suporte a até 10 contêineres de tamanho fixo a 400 RU/s ou 5 contêineres de tamanho ilimitado. Teoricamente, você pode criar mais contêineres, mas pode experimentar degradação de desempenho com o emulador.
  • O emulador só dá suporte aos níveis de consistência de Sessão e Forte . O emulador não é um serviço escalonável e não implementa os níveis de consistência. O emulador sinaliza apenas o nível de consistência configurado para fins de teste.
  • O emulador limita o identificador exclusivo de itens a um tamanho de 254 caracteres .
  • O emulador dá suporte a no máximo cinco JOIN instruções por consulta.

Os recursos do emulador podem ficar para trás do ritmo de novos recursos para o serviço de nuvem. Pode haver novos recursos e alterações no serviço de nuvem que têm um pequeno atraso antes de estarem disponíveis no emulador.

Authentication

Cada solicitação feita no emulador deve ser autenticada usando uma chave em TLS/SSL. O emulador é fornecido com uma única conta configurada para usar uma chave de autenticação conhecida. Por padrão, essas credenciais são as únicas credenciais permitidas para uso com o emulador:

Value
Ponto de extremidade localhost:8081
Chave C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
string de conexão AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Tip

Com o emulador Windows (local), você também pode personalizar a chave usada pelo emulador. Para obter mais informações, consulte argumentos do emulador do Windows.

Importar certificado do emulador

Em alguns casos, talvez você queira importar manualmente o certificado TLS/SS do contêiner em execução do emulador para seu computador host. Esta etapa evita práticas incorretas, como desabilitar a validação de TLS/SSL no SDK. Para obter mais informações, consulte import certificate.

Próxima etapa