Introducción al emulador de Azure Event Hubs
El emulador de Azure Event Hubs ofrece una experiencia de desarrollo local para el servicio Event Hubs. Puede usar el emulador para desarrollar y probar código contra el servicio de forma aislada, sin interferencias en la nube.
Ventajas
Las principales ventajas de usar el emulador son:
- Desarrollo local: el emulador proporciona una experiencia de desarrollo local, por lo que puede trabajar sin conexión y evitar la latencia de red.
- Costo: con el emulador, puede probar las aplicaciones sin incurrir en costos de uso de la nube.
- Entorno de pruebas aislados: puede probar el código de forma aislada para asegurarse de que otras actividades de la nube no afectan a las pruebas.
- Bucle de desarrollo interno optimizado: puede usar el emulador para crear prototipos y probar rápidamente las aplicaciones antes de implementarlas en la nube.
Nota:
El emulador de Event Hubs está disponible en los términos de licencia de software de Microsoft.
Características
El emulador proporciona estas características:
- Implementación en contenedores: se ejecuta como un contenedor de Docker (basado en Linux).
- Compatibilidad multiplataforma: puede usarlo en cualquier plataforma, incluido Windows, macOS y Linux.
- Configuración: puede administrar el número de centros de eventos, particiones y otras entidades mediante la configuración proporcionada por JSON.
- Compatibilidad con streaming: admite el streaming de eventos mediante Kafka y Advanced Message Queuing Protocol (AMQP).
- Observabilidad: proporciona características de observabilidad, como la consola y el registro de archivos.
Restricciones conocidas
La versión actual del emulador tiene las siguientes limitaciones:
Cuando se utiliza Kafka, solo las APIs de productor y consumidor son compatibles con el emulador Event Hubs.
En Configuración de Kafka,
securityProtocol
ysaslmechanism
solo pueden tener los valores siguientes:SecurityProtocol = SecurityProtocol.SaslPlaintext, SaslMechanism = SaslMechanism.Plain
No admite operaciones de administración sobre la marcha a través de un SDK del lado cliente.
Nota:
Después de reiniciar un contenedor, los datos y las entidades no se conservan en el emulador.
Diferencias con el servicio en la nube
Dado que el emulador de Event Hubs solo está pensado para fines de desarrollo y pruebas, existen diferencias funcionales entre el emulador y el servicio en la nube.
El emulador no admite estas características de alto nivel:
- Características de Azure, como la integración de red virtual, la integración de Microsoft Entra ID, los registros de actividad y un portal de interfaz de usuario
- Event Hubs Capture
- Características de la gobernanza de recursos, como los grupos de aplicaciones
- Funcionalidades de escalado automático
- Funcionalidades de recuperación ante desastres geográficas
- Integración del registro de esquemas
- Métricas y alertas visuales
Nota:
El emulador está diseñado únicamente para escenarios de desarrollo y prueba. Desaconsejamos cualquier tipo de uso de producción. No proporcionamos ninguna compatibilidad oficial con el emulador.
Notifique cualquier problema o sugerencia en el repositorio del instalador de GitHub del emulador.
Cuotas de uso
Al igual que el servicio en la nube de Event Hubs, el emulador proporciona las siguientes cuotas de uso:
Propiedad | Valor | Configurable por el usuario dentro de unos límites |
---|---|---|
Número de espacios de nombres admitidos | 1 | No |
Número máximo de centros de eventos en un espacio de nombres | 10 | Sí |
Número máximo de grupos de consumidores en un centro de eventos | 20 | Sí |
Número máximo de particiones en un centro de eventos | 32 | Sí |
Tamaño máximo de un evento que se publica en un centro de eventos (batch/nonbatch) | 1 MB | No |
Tiempo mínimo de retención de eventos | 1 hora | No |
Cambios de configuración de cuota
De forma predeterminada, el emulador se ejecuta con el archivo de configuración de config.json. Puede configurar las cuotas asociadas a Event Hubs editando este archivo de las siguientes maneras, en función de sus necesidades:
- Entidades: puede agregar más entidades (event hubs), con un número personalizado de particiones y grupos de consumidores, de acuerdo con las cuotas admitidas.
- Registro: el emulador admite el registro en una consola, en un archivo o ambos. Puede elegir según sus preferencias personales.
Importante
Debe proporcionar los cambios en la configuración de JSON antes de ejecutar el emulador. Los cambios no se respetan sobre la marcha. Para que los cambios surtan efecto, debe reiniciar el contenedor.
No se puede cambiar el nombre del espacio de nombres preestablecido (name
) en el archivo de configuración.
Registros para la depuración
Durante las pruebas, los registros de consola o de archivos ayudan a depurar errores inesperados. Para revisar los registros:
- Registros de consola: en la interfaz de usuario de escritorio de Docker, seleccione el nombre del contenedor.
- Registros de archivos: en el contenedor, vaya a /home/app/EmulatorLogs.