Visão geral do emulador dos Hubs de Eventos do Azure
O emulador dos Hubs de Eventos do Azure oferece uma experiência de desenvolvimento local para o serviço hubs de eventos. Você pode usar o emulador para desenvolver e testar o código no serviço isoladamente, livre de interferência na nuvem.
Benefícios
As principais vantagens de usar o emulador são:
- Desenvolvimento local: o emulador fornece uma experiência de desenvolvimento local, para que você possa trabalhar offline e evitar latência de rede.
- Eficiência de custode: com o emulador, você pode testar seus aplicativos sem incorrer em custos de uso de nuvem.
- Ambiente de teste isolado: você pode testar seu código isoladamente, para ajudar a garantir que outras atividades na nuvem não afetem os testes.
- Loop de desenvolvimento interno otimizado: você pode usar o emulador para protótipo e teste rapidamente seus aplicativos antes de implantá-los na nuvem.
Observação
O emulador de Hubs de Eventos está disponível nos Termos de Licença de Software da Microsoft.
Recursos
O emulador fornece estes recursos:
- Implantação em contêineres: ele é executado como um contêiner do Docker (baseado em Linux).
- Compatibilidade entre plataformas: você pode usá-la em qualquer plataforma, incluindo Windows, macOS e Linux.
- Configurabilidade: você pode gerenciar o número de hubs de eventos, partições e outras entidades usando a configuração fornecida por JSON.
- Suporte a streaming: ele dá suporte ao streaming de eventos por meio do Kafka e do AMQP (Advanced Message Queuing Protocol).
- Observabilidade: ele fornece recursos de observabilidade, incluindo o console e o registro em log de arquivos.
Limitações conhecidas
A versão atual do emulador tem as seguintes limitações:
Ao usar o Kafka, somente as APIs de produtor e consumidor são compatíveis com o emulador dos Hubs de Eventos.
Na configuração do Kafka,
securityProtocol
esaslmechanism
só podem ter os seguintes valores:SecurityProtocol = SecurityProtocol.SaslPlaintext, SaslMechanism = SaslMechanism.Plain
Não oferece suporte a operações de gerenciamento imediato por meio de um SDK do lado do cliente.
Observação
Após a reinicialização de um contêiner, os dados e as entidades não persistem no emulador.
Diferenças em relação ao serviço de nuvem
Como o emulador de Hubs de Eventos destina-se apenas para fins de desenvolvimento e teste, há diferenças funcionais entre o emulador e o serviço de nuvem.
O emulador não dá suporte a esses recursos de alto nível:
- Recursos do Azure, como integração de rede virtual, integração do Microsoft Entra ID, logs de atividades e um portal de interface do usuário
- Captura dos Hubs de Eventos
- Funcionalidades de governança de recursos, como os grupos de aplicativos
- Recursos de dimensionamento automático
- Recursos de recuperação de desastre geográfico
- Integração do registro de esquema
- Métricas e alertas visuais
Observação
O emulador destina-se exclusivamente a cenários de desenvolvimento e teste. Desencorajamos qualquer tipo de uso em produção. Não fornecemos suporte oficial para o emulador.
Relatar quaisquer problemas ou sugestões no repositório do instalador do GitHub do emulador.
Cotas de uso
Assim como o serviço de nuvem dos Hubs de Eventos, o emulador fornece as seguintes cotas para uso:
Propriedade | Valor | Configurável pelo usuário dentro dos limites |
---|---|---|
Número de namespaces com suporte | 1 | Não |
Número máximo de hubs de eventos no namespace | 10 | Sim |
Número máximo de grupos de consumidores em um hub de eventos | 20 | Sim |
Número máximo de partições em um hub de eventos | 32 | Sim |
Tamanho máximo de um evento que está sendo publicado em um hub de eventos (lote/sem lote) | 1 MB | Não |
Tempo mínimo de retenção de evento | 1 hora | Não |
Alterações de configuração de cota
Por padrão, o emulador é executado com o arquivo de configuração config.json. Você pode configurar as cotas associadas aos Hubs de Eventos editando esse arquivo das seguintes maneiras, de acordo com suas necessidades:
- Entidades: você pode adicionar mais entidades (hubs de eventos), com um número personalizado de partições e grupos de consumidores, de acordo com as cotas com suporte.
- Registro em log: o emulador dá suporte ao registro em log no arquivo ou console ou ambos. Você pode escolher de acordo com sua preferência pessoal.
Importante
Você deve fornecer alterações na configuração JSON antes de executar o emulador. As alterações não são aplicadas em tempo real. Para que as alterações entrem em vigor, você deve reiniciar o contêiner.
Não é possível renomear o namespace predefinido (name
) no arquivo de configuração.
Logs para depuração
Durante o teste, o console ou os logs de arquivos ajudam a depurar falhas inesperadas. Para analisar os logs:
- Logs do console: na interface do usuário da área de trabalho do Docker, selecione o nome do contêiner.
- Logs de arquivos: no contêiner, vá para /home/app/EmulatorLogs.
Conteúdo relacionado
Teste localmente usando o emulador dos Hubs de Eventos do Azure