Compartilhar via


SubscriptionEventHandlers interface

Interface que descreve as funções a serem implementadas pelo usuário que são invocadas pelo EventHubConsumerClient quando o subscribe() método é chamado para receber eventos do Hub de Eventos.

Propriedades

processClose

A função invocada por EventHubConsumerClient cada vez que a assinatura para de ler eventos de uma partição. As informações sobre essa partição estarão disponíveis no PartitionContext passado para a função processClose.

Se o CloseReason passado para essa função for OwnershipLost, outra assinatura assumirá a leitura da mesma partição usando o mesmo grupo de consumidores. Isso é esperado se você tiver várias instâncias do aplicativo em execução e tiver passado o CheckpointStore para o cliente para o balanceamento de carga.

Se for CloseReasonShutdown, isso indicará que foi subscription.close() chamado ou ocorreu um erro. A menos que a assinatura tenha sido fechada explicitamente por meio subscription.close()de , a assinatura tentará retomar a leitura de eventos do último ponto de verificação para a partição.

processError

A função invocada por para erros que ocorrem ao receber eventos ou ao executar qualquer uma das funções fornecidas pelo EventHubConsumerClient usuário passadas para o subscribe() método .

O PartitionContext passado para essa função indicará a partição que estava sendo processada quando o erro foi gerado. Nos casos em que um erro é gerado fora dos eventos de processamento de uma partição (por exemplo, falha ao executar o balanceamento de carga), o partitionId no contexto será uma cadeia de caracteres vazia.

Depois que o cliente concluir a execução dessa função, a partitionClose função será invocada.

processEvents

A função invocada por EventHubConsumerClient quando um conjunto de eventos é recebido. O PartitionContext passado para essa função pode ser usado para determinar de qual partição está sendo lida.

O updateCheckpoint() método no contexto pode ser usado para atualizar pontos de verificação no CheckpointStore (se um tiver sido fornecido ao cliente). Use isso em intervalos frequentes para marcar eventos que foram processados para que o cliente possa reiniciar a partir desses pontos de verificação no caso de uma reinicialização ou recuperação de erro.

Observação: é possível que os eventos recebidos sejam uma matriz vazia. Isso pode acontecer se não houver novos eventos a serem recebidos no maxWaitTimeInSeconds, que é padronizado para 60 segundos. O maxWaitTimeInSeconds pode ser alterado definindo-o options no passado para subscribe().

processInitialize

A função invocada por EventHubConsumerClient cada vez que a assinatura está prestes a começar a ler de uma partição. O PartitionContext passado para essa função pode ser usado para determinar de qual partição está prestes a ser lida.

O cliente começará a receber eventos para a partição somente depois de concluir a execução dessa função (se fornecido). Portanto, use essa função para realizar qualquer trabalho de instalação, incluindo tarefas assíncronas.

Detalhes da propriedade

processClose

A função invocada por EventHubConsumerClient cada vez que a assinatura para de ler eventos de uma partição. As informações sobre essa partição estarão disponíveis no PartitionContext passado para a função processClose.

Se o CloseReason passado para essa função for OwnershipLost, outra assinatura assumirá a leitura da mesma partição usando o mesmo grupo de consumidores. Isso é esperado se você tiver várias instâncias do aplicativo em execução e tiver passado o CheckpointStore para o cliente para o balanceamento de carga.

Se for CloseReasonShutdown, isso indicará que foi subscription.close() chamado ou ocorreu um erro. A menos que a assinatura tenha sido fechada explicitamente por meio subscription.close()de , a assinatura tentará retomar a leitura de eventos do último ponto de verificação para a partição.

processClose?: ProcessCloseHandler

Valor da propriedade

processError

A função invocada por para erros que ocorrem ao receber eventos ou ao executar qualquer uma das funções fornecidas pelo EventHubConsumerClient usuário passadas para o subscribe() método .

O PartitionContext passado para essa função indicará a partição que estava sendo processada quando o erro foi gerado. Nos casos em que um erro é gerado fora dos eventos de processamento de uma partição (por exemplo, falha ao executar o balanceamento de carga), o partitionId no contexto será uma cadeia de caracteres vazia.

Depois que o cliente concluir a execução dessa função, a partitionClose função será invocada.

processError: ProcessErrorHandler

Valor da propriedade

processEvents

A função invocada por EventHubConsumerClient quando um conjunto de eventos é recebido. O PartitionContext passado para essa função pode ser usado para determinar de qual partição está sendo lida.

O updateCheckpoint() método no contexto pode ser usado para atualizar pontos de verificação no CheckpointStore (se um tiver sido fornecido ao cliente). Use isso em intervalos frequentes para marcar eventos que foram processados para que o cliente possa reiniciar a partir desses pontos de verificação no caso de uma reinicialização ou recuperação de erro.

Observação: é possível que os eventos recebidos sejam uma matriz vazia. Isso pode acontecer se não houver novos eventos a serem recebidos no maxWaitTimeInSeconds, que é padronizado para 60 segundos. O maxWaitTimeInSeconds pode ser alterado definindo-o options no passado para subscribe().

processEvents: ProcessEventsHandler

Valor da propriedade

processInitialize

A função invocada por EventHubConsumerClient cada vez que a assinatura está prestes a começar a ler de uma partição. O PartitionContext passado para essa função pode ser usado para determinar de qual partição está prestes a ser lida.

O cliente começará a receber eventos para a partição somente depois de concluir a execução dessa função (se fornecido). Portanto, use essa função para realizar qualquer trabalho de instalação, incluindo tarefas assíncronas.

processInitialize?: ProcessInitializeHandler

Valor da propriedade