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.
- Navegue até o namespace dos Hubs de Eventos.
- Na página Namespace de Hubs de Eventos, selecione Hubs de Eventos no menu à esquerda.
- Na parte superior da janela, selecione “+ Hubs de Eventos”.
- 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.
- 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.