Partilhar 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 cada vez que a assinatura para de ler eventos de uma partição. As informações sobre esta 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 assumiu a leitura da mesma partição usando o mesmo grupo de consumidores. Isso é esperado se você tiver várias instâncias do seu aplicativo em execução e tiver passado o CheckpointStore para o cliente para balanceamento de carga.

Se o CloseReason estiver Shutdown, isso indica que subscription.close() foi chamado ou ocorreu um erro. A menos que a assinatura tenha sido explicitamente fechada via subscription.close(), a assinatura tentará retomar os eventos de leitura 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 esta função indicará a partição que estava sendo processada quando o erro foi lançado. Nos casos em que um erro é lançado 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 conclui a execução dessa função, a função partitionClose é invocada.

processEvents

A função invocada por EventHubConsumerClient quando um conjunto de eventos é recebido. O PartitionContext passado para esta função pode ser usado para determinar 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 foi fornecido ao cliente). Use isso em intervalos freqüentes 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.

Nota: É possível que os eventos recebidos sejam uma matriz vazia. Isso pode acontecer se não houver novos eventos para receber no maxWaitTimeInSeconds, que é padrão 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 a partir de uma partição. O PartitionContext passado para esta função pode ser usado para determinar 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 desta função (se fornecida). Portanto, use essa função para executar qualquer trabalho de configuração, incluindo tarefas assíncronas.

Detalhes de 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 esta 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 assumiu a leitura da mesma partição usando o mesmo grupo de consumidores. Isso é esperado se você tiver várias instâncias do seu aplicativo em execução e tiver passado o CheckpointStore para o cliente para balanceamento de carga.

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

processClose?: ProcessCloseHandler

Valor de 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 esta função indicará a partição que estava sendo processada quando o erro foi lançado. Nos casos em que um erro é lançado 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 conclui a execução dessa função, a função partitionClose é invocada.

processError: ProcessErrorHandler

Valor de Propriedade

processEvents

A função invocada por EventHubConsumerClient quando um conjunto de eventos é recebido. O PartitionContext passado para esta função pode ser usado para determinar 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 foi fornecido ao cliente). Use isso em intervalos freqüentes 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.

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

processEvents: ProcessEventsHandler

Valor de Propriedade

processInitialize

A função invocada por EventHubConsumerClient cada vez que a assinatura está prestes a começar a ler a partir de uma partição. O PartitionContext passado para esta função pode ser usado para determinar 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 desta função (se fornecida). Portanto, use essa função para executar qualquer trabalho de configuração, incluindo tarefas assíncronas.

processInitialize?: ProcessInitializeHandler

Valor de Propriedade