Compartilhar via


@azure/event-hubs package

Classes

EventHubBufferedProducerClient

O EventHubBufferedProducerClienté usado para publicar eventos em um Hub de Eventos específico.

O EventHubBufferedProducerClient não publica eventos imediatamente. Em vez disso, os eventos são armazenados em buffer para que possam ser colocados em lote e publicados com eficiência quando o lote estiver cheio ou o maxWaitTimeInMs tiver decorrido sem novos eventos enfileirados.

Dependendo das opções especificadas quando os eventos são enfileirados, eles podem ser atribuídos automaticamente a uma partição, agrupados de acordo com a chave de partição especificada ou atribuídos a uma partição solicitada especificamente.

Esse modelo destina-se a transferir a carga do gerenciamento em lotes dos chamadores, ao custo do tempo não determinístico, para quando os eventos serão publicados. Também há compensações adicionais a serem consideradas:

  • Se o aplicativo falhar, os eventos no buffer não serão publicados. Para evitar a perda de dados, os chamadores são incentivados a acompanhar o progresso da publicação usando os manipuladores de onSendEventsSuccessHandler e onSendEventsErrorHandler.
  • Os eventos que especificam uma chave de partição podem receber uma partição diferente daquelas que usam a mesma chave com outros produtores.
  • No caso improvável de uma partição ficar temporariamente indisponível, o EventHubBufferedProducerClient pode levar mais tempo para ser recuperado do que outros produtores.

Em cenários em que é importante ter eventos publicados imediatamente com um resultado determinístico, verifique se as chaves de partição são atribuídas a uma partição consistente com outros editores ou quando a maximização da disponibilidade é um requisito, usando o EventHubProducerClient é recomendável.

EventHubConsumerClient

A classe EventHubConsumerClient é usada para consumir eventos de um Hub de Eventos.

Há várias maneiras de criar um EventHubConsumerClient

  • Use a cadeia de conexão da política SAS criada para sua instância do Hub de Eventos.
  • Use a cadeia de conexão da política SAS criada para o namespace do Hub de Eventos e o nome da instância do Hub de Eventos
  • Use o namespace completo, como <yournamespace>.servicebus.windows.nete um objeto de credenciais.

Opcionalmente, você também pode passar:

  • Um recipiente de opções para definir a política de repetição ou as configurações de proxy.
  • Um repositório de ponto de verificação usado pelo cliente para ler pontos de verificação para determinar a posição de onde ele deve retomar o recebimento de eventos quando seu aplicativo é reiniciado. O repositório de ponto de verificação também é usado pelo cliente para balancear a carga de várias instâncias do aplicativo.
EventHubProducerClient

A classe EventHubProducerClient é usada para enviar eventos para um Hub de Eventos.

Há várias maneiras de criar um EventHubProducerClient

  • Use a cadeia de conexão da política SAS criada para sua instância do Hub de Eventos.
  • Use a cadeia de conexão da política SAS criada para o namespace do Hub de Eventos e o nome da instância do Hub de Eventos
  • Use o namespace completo, como <yournamespace>.servicebus.windows.nete um objeto de credenciais.

Opcionalmente, você também pode passar um recipiente de opções para definir a política de repetição ou as configurações de proxy.

MessagingError

Descreve a classe base para Erro de Mensagens.

Interfaces

BufferedCloseOptions

Opções para configurar o método close no EventHubBufferedProducerClient.

BufferedFlushOptions

Opções para configurar o método flush no EventHubBufferedProducerClient.

Checkpoint

Um ponto de verificação destina-se a representar o último evento processado com êxito pelo usuário de uma partição específica de um grupo de consumidores em uma instância do Hub de Eventos.

Quando o método updateCheckpoint() na classe PartitionProcessor é chamado pelo usuário, um Checkpoint é criado internamente. Em seguida, ele é armazenado na solução de armazenamento implementada pelo CheckpointManager escolhido pelo usuário ao criar um EventProcessor.

Os usuários nunca devem interagir diretamente com Checkpoint. Essa interface existe para dar suporte ao funcionamento interno de EventProcessor e CheckpointManager.

CheckpointStore

Um repositório de ponto de verificação armazena e recupera informações de propriedade de partição e detalhes de ponto de verificação para cada partição em um determinado grupo de consumidores de uma instância do hub de eventos.

Os usuários não devem implementar um CheckpointStore. Espera-se que os usuários escolham implementações existentes dessa interface, instanciem-na e passem-na para o construtor de classe EventHubConsumerClient ao criar uma instância de um cliente. Não é esperado que os usuários usem nenhum dos métodos em um repositório de ponto de verificação, eles são usados internamente pelo cliente.

As implementações de CheckpointStore podem ser encontradas no npm pesquisando pacotes com o prefixo @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opções para configurar o método createBatch no EventHubProducerClient.

  • partitionKey: um valor que é hash para produzir uma atribuição de partição.
  • maxSizeInBytes: o limite superior para o tamanho do lote.
  • abortSignal: um sinal da solicitação para cancelar a operação de envio.

Uso de exemplo:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Opções para configurar o método enqueueEvents no EventHubBufferedProducerClient.

EventData

A interface que descreve os dados a serem enviados ao Hub de Eventos. Use isso como referência ao criar o objeto a ser enviado ao usar o EventHubProducerClient. Por exemplo, { body: "your-data" } ou

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Parâmetros para a função createEventDataAdapter que cria um adaptador de dados de evento.

EventDataBatch

Uma interface que representa um lote de eventos que pode ser usado para enviar eventos para o Hub de Eventos.

Para criar o lote, use o método createBatch() no EventHubProducerClient. Para enviar o lote, use o método sendBatch() no mesmo cliente. Para preencher o lote, use o método tryAdd() no próprio lote.

EventHubBufferedProducerClientOptions

Descreve as opções que podem ser fornecidas ao criar o EventHubBufferedProducerClient.

EventHubClientOptions

Descreve as opções que podem ser fornecidas durante a criação do EventHubClient.

  • userAgent: uma cadeia de caracteres a ser acrescentada à cadeia de caracteres interna do agente de usuário que é passada como uma propriedade de conexão para o serviço.
  • webSocketOptions: opções para configurar a canalização da conexão AMQP por meio de Soquetes Web.
    • websocket: o construtor WebSocket usado para criar uma conexão AMQP se você optar por fazer a conexão em um WebSocket.
    • webSocketConstructorOptions: opções para passar para o construtor Websocket quando você optar por fazer a conexão em um WebSocket.
  • retryOptions: as opções de repetição para todas as operações no cliente/produtor/consumidor.
    • maxRetries: o número de vezes que a operação pode ser repetida no caso de um erro retrátivel.
    • maxRetryDelayInMs: o atraso máximo entre novas tentativas. Aplicável somente ao executar novas tentativas exponencial.
    • mode: qual modo de repetição aplicar, especificado pela enumeração RetryMode. As opções são Exponential e Fixed. O padrão é Fixed.
    • retryDelayInMs: tempo de espera em milissegundos antes de fazer a próxima tentativa. Quando mode é definido como Exponential, isso é usado para calcular os atrasos exponencialmente crescentes entre repetições. Padrão: 30000 milissegundos.
    • timeoutInMs: quantidade de tempo em milissegundos para aguardar antes do tempo limite da operação. Isso disparará uma nova tentativa se houver outras tentativas restantes. Valor padrão: 60000 milissegundos.

Um uso simples pode ser { "maxRetries": 4 }.

Uso de exemplo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

O conjunto de propriedades que compõem uma cadeia de conexão do Hub de Eventos.

EventHubConsumerClientOptions

Descreve as opções que podem ser fornecidas durante a criação do EventHubConsumerClient.

  • loadBalancingOptions: opções para ajustar como o EventHubConsumerClient declara partições.
  • userAgent: uma cadeia de caracteres a ser acrescentada à cadeia de caracteres interna do agente de usuário que é passada como uma propriedade de conexão para o serviço.
  • webSocketOptions: opções para configurar a canalização da conexão AMQP por meio de Soquetes Web.
    • websocket: o construtor WebSocket usado para criar uma conexão AMQP se você optar por fazer a conexão em um WebSocket.
    • webSocketConstructorOptions: opções para passar para o construtor Websocket quando você optar por fazer a conexão em um WebSocket.
  • retryOptions: as opções de repetição para todas as operações no cliente/produtor/consumidor.
    • maxRetries: o número de vezes que a operação pode ser repetida no caso de um erro retrátivel.
    • maxRetryDelayInMs: o atraso máximo entre novas tentativas. Aplicável somente ao executar novas tentativas exponencial.
    • mode: qual modo de repetição aplicar, especificado pela enumeração RetryMode. As opções são Exponential e Fixed. O padrão é Fixed.
    • retryDelayInMs: tempo de espera em milissegundos antes de fazer a próxima tentativa. Quando mode é definido como Exponential, isso é usado para calcular os atrasos exponencialmente crescentes entre repetições. Padrão: 30000 milissegundos.
    • timeoutInMs: quantidade de tempo em milissegundos para aguardar antes do tempo limite da operação. Isso disparará uma nova tentativa se houver outras tentativas restantes. Valor padrão: 60000 milissegundos.

Um uso simples pode ser { "maxRetries": 4 }.

Uso de exemplo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Descreve as informações de runtime de um Hub de Eventos.

EventPosition

Representa a posição de um evento em uma partição do Hub de Eventos, normalmente usada ao chamar o método subscribe() em um EventHubConsumerClient para especificar a posição na partição da qual começar a receber eventos.

Para obter uma EventPosition que represente o início ou o fim do fluxo, use as constantes earliestEventPosition e latestEventPosition respectivamente.

GetEventHubPropertiesOptions

O conjunto de opções para configurar o comportamento de getEventHubProperties.

  • abortSignal: uma implementação da interface AbortSignalLike para sinalizar a solicitação para cancelar a operação.
  • parentSpan: o Span ou SpanContext a ser usado como o parent do intervalo criado ao chamar essa operação.
GetPartitionIdsOptions

O conjunto de opções para configurar o comportamento de getPartitionIds.

  • abortSignal: uma implementação da interface AbortSignalLike para sinalizar a solicitação para cancelar a operação.
  • parentSpan: o Span ou SpanContext a ser usado como o parent do intervalo criado ao chamar essa operação.
GetPartitionPropertiesOptions

O conjunto de opções para configurar o comportamento de getPartitionProperties.

  • abortSignal: uma implementação da interface AbortSignalLike para sinalizar a solicitação para cancelar a operação.
  • parentSpan: o Span ou SpanContext a ser usado como o parent do intervalo criado ao chamar essa operação.
LastEnqueuedEventProperties

Um conjunto de informações sobre o último evento enfileirado de uma partição, conforme observado pelo consumidor como eventos são recebidos do serviço Hubs de Eventos

LoadBalancingOptions

Um recipiente de opções para definir as configurações de balanceamento de carga.

OnSendEventsErrorContext

Contém os eventos que não foram enviados com êxito para o Hub de Eventos, a partição à qual foram atribuídos e o erro encontrado durante o envio.

OnSendEventsSuccessContext

Contém os eventos que foram enviados com êxito para o Hub de Eventos e a partição à qual foram atribuídos.

OperationOptions

Opções para configurar o rastreamento e o abortSignal.

PartitionContext

Interface que descreve o contexto passado para cada uma das funções que fazem parte do SubscriptionEventHandlers. Ao implementar qualquer uma dessas funções, use o objeto de contexto para obter informações sobre a partição, bem como a capacidade de ponto de verificação.

PartitionOwnership

Uma interface que representa os detalhes sobre qual instância de um EventProcessor possui o processamento de uma determinada partição de um grupo de consumidores de uma instância do Hub de Eventos.

Observação: isso é usado internamente pelo EventProcessor e o usuário nunca precisa criá-lo diretamente.

PartitionProperties

Descreve as informações de runtime de uma Partição do EventHub.

ReceivedEventData

A interface que descreve a estrutura do evento recebido do Hub de Eventos. Use isso como referência ao criar a função processEvents para processar os eventos recebidos de um Hub de Eventos ao usar o EventHubConsumerClient.

RetryOptions

Opções de política de repetição que determinam o modo, o número de repetições, o intervalo de repetição etc.

SendBatchOptions

Opções para configurar o método sendBatch no EventHubProducerClient ao enviar uma matriz de eventos. Se partitionId estiver definido, partitionKey não deverá ser definido e vice-versa.

  • partitionId: a partição para a qual este lote será enviado.
  • partitionKey: um valor que é hash para produzir uma atribuição de partição.
  • abortSignal: um sinal usado para cancelar a operação de envio.
SubscribeOptions

Opções para configurar o método subscribe no EventHubConsumerClient. Por exemplo, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Interface que descreve o objeto retornado pelo método subscribe() no EventHubConsumerClient.

SubscriptionEventHandlers

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.

TokenCredential

Representa uma credencial capaz de fornecer um token de autenticação.

TryAddOptions

Opções para configurar o comportamento do método tryAdd na classe EventDataBatch.

WebSocketImpl

Descreve a forma necessária de construtores WebSocket.

WebSocketOptions

Opções para configurar a canalização da conexão AMQP por meio de Soquetes Web.

Aliases de tipo

ProcessCloseHandler

A assinatura da função fornecida pelo usuário invocada por EventHubConsumerClient logo após parar para receber eventos de uma partição.

ProcessErrorHandler

A assinatura da função fornecida pelo usuário 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().

ProcessEventsHandler

A assinatura da função fornecida pelo usuário invocada por EventHubConsumerClient quando um conjunto de eventos é recebido.

ProcessInitializeHandler

Assinatura da função fornecida pelo usuário invocada por EventHubConsumerClient pouco antes de começar a receber eventos de uma partição.

Enumerações

CloseReason

Uma enumeração que representa os diferentes motivos de uma EventHubConsumerClient parar o processamento de eventos de uma partição em um grupo de consumidores de um Hub de Eventos.

RetryMode

Descreve o tipo de Modo de Repetição

Funções

createEventDataAdapter(EventDataAdapterParameters)

Uma função que constrói um adaptador de dados de evento. Esse adaptador pode ser usado com @azure/schema-registry-avro para codificar e decodificar o corpo em dados de evento.

parseEventHubConnectionString(string)

Analisa a cadeia de conexão fornecida nas diferentes propriedades aplicáveis aos Hubs de Eventos do Azure. As propriedades são úteis para construir um EventHubProducerClient ou um EventHubConsumerClient.

Detalhes da função

createEventDataAdapter(EventDataAdapterParameters)

Uma função que constrói um adaptador de dados de evento. Esse adaptador pode ser usado com @azure/schema-registry-avro para codificar e decodificar o corpo em dados de evento.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Parâmetros

params
EventDataAdapterParameters

parâmetros para criar os dados do evento

Retornos

MessageAdapter<EventData>

Um adaptador de dados de evento que pode produzir e consumir dados de eventos

parseEventHubConnectionString(string)

Analisa a cadeia de conexão fornecida nas diferentes propriedades aplicáveis aos Hubs de Eventos do Azure. As propriedades são úteis para construir um EventHubProducerClient ou um EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Parâmetros

connectionString

string

A cadeia de conexão associada à Política de Acesso Compartilhado criada para o namespace dos Hubs de Eventos.

Retornos