Compartilhar via


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 e saslmechanism 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.

Teste localmente usando o emulador dos Hubs de Eventos do Azure