¿Qué es el emulador de Azure Cosmos DB?

El emulador de Azure Cosmos DB proporciona un entorno local que emula el servicio Azure Cosmos DB diseñado para fines de desarrollo. Con el emulador, puede desarrollar y probar la aplicación localmente, sin crear una suscripción de Azure ni incurrir en costos de servicio. Cuando esté satisfecho con cómo funciona la aplicación con el emulador, puede realizar la transición al uso de una cuenta de Azure Cosmos DB con una fricción mínima.

Importante

No se recomienda usar el emulador para cargas de trabajo de producción.

Sugerencia

Visite nuestra nueva Galería de ejemplos para obtener los ejemplos más recientes para compilar nuevas aplicaciones

Diferencias entre el emulador y el servicio en la nube

El emulador proporciona un entorno en el área de trabajo del desarrollador que no es capaz de simular todos los aspectos del servicio Azure Cosmos DB. Estas son algunas diferencias clave en la funcionalidad entre el emulador y el servicio en la nube equivalente.

Importante

Actualmente, el emulador de Linux no es compatible con equipos de desarrollo que funcionan con chips de la serie Apple silicon o con chips ARM de Microsoft. Una solución temporal consiste en instalar una máquina virtual Windows y ejecutar el emulador en esa plataforma.

Como alternativa, puede usar el nuevo emulador de Azure Cosmos DB basado en Linux (versión preliminar).

  • El panel de Data Explorer del emulador solo se admite en la API para NoSQL y API para MongoDB.
  • El emulador solo es compatible con el rendimiento aprovisionado. El emulador no admite el rendimiento sin servidor .
  • El emulador usa una clave conocida cuando se inicia. No se puede volver a generar la clave para el emulador en ejecución. Para usar una clave diferente, debe iniciar el emulador con la clave personalizada especificada.
  • El emulador no se puede replicar en regiones geográficas ni en varias instancias. Solo se admite una única instancia en ejecución del emulador. El emulador no se puede escalar horizontalmente.
  • Idealmente, el emulador admite hasta 10 contenedores de tamaño fijo a 400 RU/s o 5 contenedores de tamaño ilimitado. En teoría, puede crear más contenedores, pero podría experimentar una degradación del rendimiento con el emulador.
  • El emulador solo admite los niveles de coherencia Sesión y Fuerte. El emulador no es un servicio escalable y realmente no implementa los niveles de coherencia. El emulador solo marca el nivel de coherencia configurado con fines de prueba.
  • El emulador limita el identificador único de los elementos a un máximo de 254 caracteres.
  • El emulador admite un máximo de cinco JOIN instrucciones por consulta.

Las características del emulador pueden estar retrasando el ritmo de las nuevas características del servicio en la nube. Podría haber nuevas características y cambios en el servicio en la nube que tengan un pequeño retraso antes de que estén disponibles en el emulador.

Autenticación

Todas las solicitudes realizadas en el emulador deben autenticarse mediante una clave a través de TLS/SSL. El emulador se incluye con una sola cuenta configurada para usar una clave de autenticación conocida. De forma predeterminada, estas credenciales son las únicas credenciales permitidas para su uso con el emulador:

Value
Punto final localhost:8081
Clave C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Cadena de conexión AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Sugerencia

Con el emulador de Windows (local), también puede personalizar la clave que usa el emulador. Para obtener más información, consulte argumentos del emulador de Windows.

Importar certificado del emulador

En algunos casos, es posible que desee importar manualmente el certificado TLS/SS desde el contenedor en ejecución del emulador en la máquina host. Este paso evita procedimientos incorrectos, como deshabilitar la validación tls/SSL en el SDK. Para obtener más información, vea Importar certificado.

Paso siguiente