Usar compactação do log

Este artigo mostra como usar o recurso de compactação de log nos Hubs de Eventos. Para entender os detalhes da compactação de logs, confira Compactação de logs.

Neste artigo, você seguirá estas etapas principais:

  • Crie um hub de eventos/tópico do Kafka compactado.
  • Publique eventos em um hub de eventos compactado.
  • Consuma eventos de um hub de eventos compactado.

Observação

Não há suporte para o recurso de compactação de log na camada de serviço Básica.

Criar um hub de eventos/tópico do Kafka compactado

Esta seção mostra como criar um hub de eventos compactado usando o portal do Azure e um modelo do ARM (Azure Resource Manager).

É possível criar um hub de eventos compactado por meio do portal do Azure seguindo as etapas a seguir.

  1. Navegue até o namespace dos Hubs de Eventos.
  2. Na página Namespace de Hubs de Eventos, selecione Hubs de Eventos no menu à esquerda.
  3. Na parte superior da janela, selecione “+ Hubs de Eventos”. Captura de tela da interface do usuário de criação do hub de eventos.
  4. Digite um nome para o hub de eventos e especifique a contagem de partições. Como você criará um hub de eventos compactado, selecione a política de compactação como compactação e forneça o valor desejado para o tempo de retenção de marca de exclusão. Captura de tela da interface do usuário de criação de hubs de eventos com atributos relacionados à compactação.
  5. Selecione Criar e crie o hub de eventos compactado.

Disparar a compactação

O serviço de Hubs de Eventos determina quando o trabalho de compactação de um determinado hub de eventos compactado deve ser executado. O hub de eventos compactado atinge o limite de compactação quando há um número considerável de eventos ou o tamanho total de um determinado log de eventos cresce significativamente.

Publicar eventos em um tópico compactado

Publicar eventos em um hub de eventos compactado é o mesmo que publicar eventos em um hub de eventos regular. Como o aplicativo cliente, somente é necessário determinar a chave de compactação, que é definida usando a chave de partição.

Usar o SDK dos Hubs de Eventos (AMQP)

Com o SDK dos Hubs de Eventos, é possível definir a chave de partição e publicar eventos, conforme mostrado abaixo:

var enqueueOptions = new EnqueueEventOptions
{
    PartitionKey = "Key-1"
    
};
await producer.EnqueueEventAsync(eventData, enqueueOptions);

Usar o Kafka

Com o Kafka, é possível definir a chave de partição ao criar ProducerRecord, conforme mostrado abaixo:

ProducerRecord<String, String> record = new ProducerRecord<String, String>(TOPIC, "Key-1" , "Value-1");

Cotas e limites

Limite Basic Standard Premium Dedicado
Tamanho do hub de eventos compactado N/D 1 GB por partição 250 GB por partição 250 GB por partição

Para outras cotas e limites, confira Cotas e limites do Hubs de Eventos.

Consumir eventos de um tópico compactado

Não há alterações necessárias no lado do consumidor para consumir eventos de um hub de eventos compactado. Portanto, é possível usar qualquer um dos aplicativos de consumo existentes para consumir dados de um hub de eventos compactado.

Próximas etapas

  • Para obter informações conceituais sobre como a compactação de log funciona, confira Compactação de log.