O que é o emulador do Azure Cosmos DB?

O emulador do 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 do Azure ou incorrer em custos de serviço. Quando estiver satisfeito com a forma como seu aplicativo está funcionando com o emulador, você poderá fazer a transição para usar uma conta do Azure Cosmos DB com o mínimo de atrito.

Importante

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

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

O emulador fornece um ambiente em seu espaço de trabalho do desenvolvedor que não é capaz de emular todos os aspetos 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

O emulador Linux atualmente não suporta máquinas de desenvolvedor rodando em chips Apple Silicon Series ou Microsoft ARM. Uma solução temporária é instalar uma máquina virtual do Windows e executar o emulador nessa plataforma.

  • O painel Data Explorer do emulador só é suportado na API para NoSQL e API para MongoDB.
  • O emulador suporta apenas a taxa de transferência provisionada. O emulador não suporta 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. Apenas uma única instância em execução do emulador é suportada. O emulador não pode ser expandido.
  • O emulador suporta idealmente 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 suporta apenas os níveis de consistência Session e Strong . O emulador não é um serviço escalá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 restringe o identificador exclusivo de itens a um tamanho de 254 caracteres.
  • O emulador suporta um máximo de cinco JOIN instruções por consulta.

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

Autenticação

Cada solicitação feita no emulador deve ser autenticada usando uma chave sobre TLS/SSL. O emulador vem 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 final localhost:8081
Chave C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Cadeia de ligação AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Gorjeta

Com o emulador do 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, você pode querer importar manualmente o certificado TLS/SS do contêiner em execução do emulador para sua máquina host. Esta etapa evita práticas incorretas, como desabilitar a validação TLS/SSL no SDK. Para obter mais informações, consulte Importar certificado.

Próximo passo