Compartilhar via


SubscriptionEventHandlers interface

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

Propriedades

processClose

A função invocada por EventHubConsumerClient sempre que a assinatura interrompe a leitura de 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 balancear a carga.

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

processError

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

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 de 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 função partitionClose 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 método updateCheckpoint() 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 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, o que é padronizado para 60 segundos. O maxWaitTimeInSeconds pode ser alterado definindo-o no options 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 sempre que a assinatura interrompe a leitura de 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 balancear a carga.

Se o CloseReason for Shutdown, isso indicará que subscription.close() foi chamado ou ocorreu um erro. A menos que a assinatura tenha sido fechada explicitamente por meio de subscription.close(), 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 EventHubConsumerClient para erros que ocorrem ao receber eventos ou ao executar qualquer uma das funções fornecidas pelo usuário passadas para o método subscribe().

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 de 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 função partitionClose 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 método updateCheckpoint() 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 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, o que é padronizado para 60 segundos. O maxWaitTimeInSeconds pode ser alterado definindo-o no options 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