Partilhar via


Visão geral do emulador de Hubs de Eventos do Azure

O emulador de 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 em relação ao 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 a latência da rede.
  • Eficiência de custos: Com o emulador, você pode testar seus aplicativos sem incorrer em custos de uso da 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 prototipar e testar rapidamente seus aplicativos antes de implantá-los na nuvem.

Nota

O emulador de Hubs de Eventos está disponível sob os Termos de Licença para Software Microsoft.

Funcionalidades

O emulador fornece estes recursos:

  • Implantação em contêiner: é executado como um contêiner Docker (baseado em Linux).
  • Compatibilidade entre plataformas: Você pode usá-lo 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 pelo JSON.
  • Suporte de streaming: Suporta streaming de eventos usando Kafka e Advanced Message Queuing Protocol (AMQP).
  • Observabilidade: Ele fornece recursos de observabilidade, incluindo console e registro de arquivos.

Limitações conhecidas

A versão atual do emulador tem as seguintes limitações:

  • Ao usar o Kafka, apenas as APIs de produtor e consumidor são compatíveis com o emulador de Hubs de Eventos.

  • Na configuração Kafka, securityProtocol e saslmechanism só pode ter os seguintes valores:

      SecurityProtocol = SecurityProtocol.SaslPlaintext,
      SaslMechanism = SaslMechanism.Plain
    
  • Ele não suporta operações de gerenciamento imediatas por meio de um SDK do lado do cliente.

Nota

Após uma reinicialização do 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 suporta estes recursos de alto nível:

  • Recursos do Azure, como integração de rede virtual, integração de ID do Microsoft Entra, logs de atividades e um portal de interface do usuário
  • Captura de Hubs de Eventos
  • Recursos de governança de recursos, como grupos de aplicativos
  • Recursos de dimensionamento automático
  • Recursos de recuperação de desastres geográficos
  • Integração do registro de esquema
  • Métricas visuais e alertas

Nota

O emulador destina-se exclusivamente a cenários de desenvolvimento e teste. Desencorajamos qualquer tipo de uso de produção. Nós não fornecemos nenhum suporte oficial para o emulador.

Relate quaisquer problemas ou sugestões no repositório do instalador do GitHub do emulador.

Quotas de utilização

Como o serviço de nuvem Hubs de Eventos, o emulador fornece as seguintes cotas para uso:

Property valor Configurável pelo utilizador dentro de limites
Número de namespaces suportados 1 Não
Número máximo de hubs de eventos em um 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/não lote) 1 MB Não
Tempo mínimo de retenção de eventos 1 hora Não

Alterações na configuração da 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, com base em 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 suportadas.
  • Log: O emulador suporta o registro em log em um console, em um arquivo ou ambos. Você pode escolher de acordo com sua preferência pessoal.

Importante

Você deve fornecer quaisquer alterações na configuração JSON antes de executar o emulador. As mudanças não são honradas na hora. Para que as alterações entrem em vigor, reinicie o contêiner.

Não é possível renomear o namespace predefinido (name) no arquivo de configuração.

Logs para depuração

Durante os testes, os logs de console ou arquivo ajudam a depurar falhas inesperadas. Para rever os registos:

  • 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 de Hubs de Eventos do Azure