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.
Dica
Acesse nossa nova Galeria de Amostras para obter as mais recentes amostras para compilar 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 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.
Como alternativa, você pode usar o novo emulador do Azure Cosmos DB baseado em Linux (versão prévia).
- 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.