O que é o emulador Azure Cosmos DB?

O emulador Azure Cosmos DB fornece um ambiente local que emula o serviço Azure Cosmos DB concebido para fins de desenvolvimento. Usando o emulador, pode desenvolver e testar a sua aplicação localmente, sem criar uma subscrição no Azure ou incorrer em custos de serviço. Quando estiver satisfeito com o funcionamento da sua aplicação com o emulador, pode fazer a transição para usar uma conta Azure Cosmos DB com o mínimo de atritos.

Importante

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

Tip

Visite a nossa nova Galeria de Exemplos para os exemplos mais recentes para criar novas aplicações

Diferenças entre o emulador e o serviço na cloud

O emulador fornece um ambiente no seu espaço de trabalho de programador que não é capaz de emular todos os aspetos do serviço Azure Cosmos DB. Aqui estão algumas diferenças-chave na funcionalidade entre o emulador e o serviço de cloud equivalente.

Importante

O emulador Linux atualmente não suporta máquinas de desenvolvimento a correr na série Apple silicon ou em chips Microsoft ARM. Uma solução temporária é instalar uma máquina virtual Windows e executar o emulador nessa plataforma.

Alternativamente, podes usar o novo emulador de Azure Cosmos DB baseado em Linux (pré-visualização).

  • O painel Data Explorer do emulador só é suportado na API para NoSQL e na API para MongoDB.
  • O emulador só suporta taxa de transferência provisionada. O emulador não suporta o serverless throughput.
  • O emulador usa uma chave bem conhecida quando arranca. Não podes regenerar a chave para o emulador em execução. Para usar uma chave diferente, deve iniciar o emulador com a chave personalizada especificada.
  • O emulador não pode ser replicado entre regiões geográficas ou múltiplas instâncias. Apenas uma única instância em execução do emulador é suportada. O emulador não pode ser escalado horizontalmente.
  • O emulador suporta idealmente até 10 contentores de tamanho fixo a 400 RU/s ou 5 contentores de tamanho ilimitado. Teoricamente, podes criar mais containers, mas podes experienciar degradação de desempenho com o emulador.
  • O emulador só suporta os níveis de consistência Session e Strong . O emulador não é um serviço escalável e não implementa realmente os níveis de consistência. O emulador apenas sinaliza o nível de consistência configurado para fins de teste.
  • O emulador limita o identificador único dos itens a um tamanho de 254 caracteres.
  • O emulador suporta no máximo cinco JOIN instruções por consulta.

As funcionalidades do emulador podem ficar atrás do ritmo das novas funcionalidades para o serviço cloud. Podem surgir novas funcionalidades e alterações no serviço cloud que têm um pequeno atraso antes de estarem disponíveis no emulador.

Authentication

Cada pedido feito contra o emulador deve ser autenticado usando uma chave via TLS/SSL. O emulador vem com uma única conta configurada para usar uma chave de autenticação bem conhecida. Por defeito, estas credenciais são as únicas permitidas para uso com o emulador:

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

Tip

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

Certificado de importação do emulador

Em alguns casos, pode querer importar manualmente o certificado TLS/SS do contentor em execução do emulador para a sua máquina anfitriã. Este passo evita más práticas como desativar a validação TLS/SSL no SDK. Para mais informações, consulte certificado de importação.

Próximo passo