O que é o emulador do Azure Cosmos DB?

O emulador do Azure Cosmos DB fornece um ambiente local que emula o serviço do Azure Cosmos DB para fins de desenvolvimento. Com o emulador, você pode desenvolver e testar seu aplicativo localmente sem criar uma assinatura do Azure ou incorrer em custos. Quando estiver satisfeito com o funcionamento de seu aplicativo no emulador, você pode passar a usar uma conta do Azure Cosmos DB na nuvem.

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 no workspace do desenvolvedor que não é capaz de emular todos os aspectos do serviço do Azure Cosmos DB. Aqui estão algumas diferenças importantes na funcionalidade entre o emulador e o serviço de nuvem equivalente.

Importante

No momento, o emulador do Linux não dá suporte a computadores desenvolvedores em execução na série de silício da Apple ou chips do Microsoft ARM. Uma solução alternativa é instalar uma máquina virtual do Windows e executar o emulador nessa plataforma.

  • O painel Data Explorer do emulador só tem suporte na API para NoSQL e na API para MongoDB.
  • O emulador dá suporte apenas à taxa de transferência provisionada. O emulador não dá suporte à taxa de transferência sem servidor.
  • O emulador usa uma chave 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 ser escalado horizontalmente.
  • Idealmente, o emulador dá suporte apenas a até 10 contêineres de tamanho fixo a 400 RU/s ou 5 contêineres de tamanho ilimitado. Em teoria, você pode criar mais contêineres, mas isso pode levar a uma degradação no desempenho do emulador.
  • O emulador dá suporte apenas aos níveis de consistência Sessão e Forte. O emulador não é um serviço escalonável e, na verdade, 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 dos itens a um tamanho de 254 caracteres.
  • O emulador Linux dá suporte a no máximo cinco instruções JOIN por consulta.

Os recursos do emulador podem ficar atrá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 terão um pequeno atraso antes de serem disponibilizados no emulador.

Autenticação

Cada solicitação feita no emulador deve ser autenticada usando uma chave sobre 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:

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

Dica

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, talvez você queira importar manualmente o certificado TLS/SS do contêiner em execução do emulador para o computador do host. Essa etapa evita práticas incorretas, como desabilitar a validação de TLS/SSL no SDK. Para obter mais informações, consulte certificados de importação.

Próxima etapa