Partilhar 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 eficientemente agrupados em lote e publicados 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 especificamente solicitada.

Este modelo destina-se a transferir o ónus da gestão em lote dos chamadores, à custa de um timing não determinístico, para quando os eventos serão publicados. Há também compensações adicionais a considerar:

  • Se o aplicativo falhar, os eventos no buffer não terão sido 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 daqueles que usam a mesma chave com outros produtores.
  • No caso improvável de uma partição ficar temporariamente indisponível, o EventHubBufferedProducerClient pode demorar mais tempo a recuperar do que outros produtores.

Em cenários em que é importante publicar eventos imediatamente com um resultado determinístico, certifique-se de que as chaves de partição sejam atribuídas a uma partição consistente com outros editores ou onde maximizar a disponibilidade seja um requisito, recomenda-se o uso do EventHubProducerClient.

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 pacote de opções para definir a política de repetição ou as configurações de proxy.
  • Um armazenamento de ponto de verificação que é usado pelo cliente para ler pontos de verificação para determinar a posição de onde ele deve continuar recebendo eventos quando seu aplicativo for reiniciado. O armazenamento de ponto de verificação também é usado pelo cliente para balancear a carga de várias instâncias do seu 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 pacote de opções para configurar 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, é armazenado na solução de armazenamento implementada pelo CheckpointManager escolhido pelo usuário ao criar um EventProcessor.

Nunca se espera que os usuários interajam diretamente com Checkpoint. Esta interface existe para suportar o funcionamento interno do EventProcessor e CheckpointManager.

CheckpointStore

Um armazenamento 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 de 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 instanciar um cliente. Não se espera que os usuários usem nenhum dos métodos em um armazenamento de ponto de verificação, eles são usados internamente pelo cliente.

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 é colocado em hash para produzir uma atribuição de partição.
  • maxSizeInBytes: O limite superior para o tamanho do lote.
  • abortSignal : Um sinal do pedido para cancelar a operação de envio.

Exemplo de uso:

{
    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 para o Hub de Eventos. Use isso como uma 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 encher o lote, use o método tryAdd() no próprio lote.

EventHubBufferedProducerClientOptions

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

EventHubClientOptions

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

  • userAgent : Uma cadeia de caracteres para acrescentar à cadeia de caracteres do agente do usuário interna que é passada como uma propriedade de conexão para o serviço.
  • webSocketOptions : Opções para configurar a canalização da conexão AMQP através de Web Sockets.
    • websocket : O construtor WebSocket usado para criar uma conexão AMQP se você optar por fazer a conexão através de um WebSocket.
    • webSocketConstructorOptions : Opções para passar para o construtor Websocket quando você optar por fazer a conexão através de 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 em caso de um erro tentável.
    • maxRetryDelayInMs: O atraso máximo entre as tentativas. Aplicável apenas ao realizar tentativas exponenciais.
    • mode: Qual modo de repetição aplicar, especificado pelo RetryMode enum. As opções são Exponential e Fixed. O padrão é Fixed.
    • retryDelayInMs: Quantidade de tempo para esperar em milissegundos antes de fazer a próxima tentativa. Quando mode é definido como Exponential, isso é usado para calcular os atrasos exponencialmente crescentes entre as tentativas. Padrão: 30000 milissegundos.
    • timeoutInMs: Quantidade de tempo em milissegundos para aguardar antes que a operação atinja o tempo limite. Isso acionará uma nova tentativa se houver alguma tentativa restante. Valor padrão: 60000 milissegundos.

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

Exemplo de uso:

{
    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 para acrescentar à cadeia de caracteres do agente do usuário interna que é passada como uma propriedade de conexão para o serviço.
  • webSocketOptions : Opções para configurar a canalização da conexão AMQP através de Web Sockets.
    • websocket : O construtor WebSocket usado para criar uma conexão AMQP se você optar por fazer a conexão através de um WebSocket.
    • webSocketConstructorOptions : Opções para passar para o construtor Websocket quando você optar por fazer a conexão através de 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 em caso de um erro tentável.
    • maxRetryDelayInMs: O atraso máximo entre as tentativas. Aplicável apenas ao realizar tentativas exponenciais.
    • mode: Qual modo de repetição aplicar, especificado pelo RetryMode enum. As opções são Exponential e Fixed. O padrão é Fixed.
    • retryDelayInMs: Quantidade de tempo para esperar em milissegundos antes de fazer a próxima tentativa. Quando mode é definido como Exponential, isso é usado para calcular os atrasos exponencialmente crescentes entre as tentativas. Padrão: 30000 milissegundos.
    • timeoutInMs: Quantidade de tempo em milissegundos para aguardar antes que a operação atinja o tempo limite. Isso acionará uma nova tentativa se houver alguma tentativa restante. Valor padrão: 60000 milissegundos.

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

Exemplo de uso:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Descreve as informações de tempo de execução 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 um EventPosition representando 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 o pedido de cancelamento da operação.
  • parentSpan : O Span ou SpanContext usar como o parent do span criado ao chamar esta operação.
GetPartitionIdsOptions

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

  • abortSignal : Uma implementação da interface AbortSignalLike para sinalizar o pedido de cancelamento da operação.
  • parentSpan : O Span ou SpanContext usar como o parent do span criado ao chamar esta operação.
GetPartitionPropertiesOptions

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

  • abortSignal : Uma implementação da interface AbortSignalLike para sinalizar o pedido de cancelamento da operação.
  • parentSpan : O Span ou SpanContext usar como o parent do span criado ao chamar esta operação.
LastEnqueuedEventProperties

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

LoadBalancingOptions

Um pacote 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.

Nota: Este é usado internamente pelo EventProcessor e o usuário nunca precisa criá-lo diretamente.

PartitionProperties

Descreve as informações de tempo de execução de uma partição EventHub.

ReceivedEventData

A interface que descreve a estrutura do evento recebido do Hub de Eventos. Use isso como uma 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 tentativas, 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 deve ser definido e vice-versa.

  • partitionId : A partição para a qual este lote será enviado.
  • partitionKey : Um valor que é colocado em 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 através de Web Sockets.

Aliases de Tipo

ProcessCloseHandler

Assinatura do usuário fornecido função invocada por EventHubConsumerClient logo após parar para receber eventos de uma partição.

ProcessErrorHandler

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

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

ProcessInitializeHandler

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

Enumerações

CloseReason

Um enum que representa os diferentes motivos para um EventHubConsumerClient parar de processar 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 eventos.

parseEventHubConnectionString(string)

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

Detalhes de 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 eventos.

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

Parâmetros

params
EventDataAdapterParameters

parâmetros para criar os dados do evento

Devoluções

MessageAdapter<EventData>

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

parseEventHubConnectionString(string)

Analisa determinada cadeia de conexão 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 Hubs de Eventos.

Devoluções