Partilhar via


@azure/event-hubs package

Classes

EventHubBufferedProducerClient

É EventHubBufferedProducerClientutilizado para publicar eventos num Hub de Eventos específico.

O EventHubBufferedProducerClient não publica eventos imediatamente. Em vez disso, os eventos são colocados em memória intermédia para que possam ser colocados em lotes e publicados de forma eficiente quando o lote estiver cheio ou o maxWaitTimeInMs tiver decorrido sem novos eventos em fila.

Consoante as opções especificadas quando os eventos são colocados em fila, podem ser automaticamente atribuídos a uma partição, agrupadas de acordo com a chave de partição especificada ou atribuídas a uma partição especificamente pedida.

Este modelo destina-se a transferir o fardo da gestão de lotes dos autores de chamadas, à custa de tempo não determinista, para quando os eventos serão publicados. Existem também compromissos adicionais a considerar:

  • Se a aplicação falhar, os eventos na memória intermédia não terão sido publicados. Para evitar a perda de dados, os autores de chamadas são encorajados a controlar o progresso da publicação com os onSendEventsSuccessHandler processadores e onSendEventsErrorHandler .
  • Os eventos que especificam uma chave de partição podem ser atribuídos a uma partição diferente das que utilizam a mesma chave com outros produtores.
  • No caso improvável de uma partição ficar temporariamente indisponível, a EventHubBufferedProducerClient recuperação poderá demorar mais tempo do que outros produtores.

Nos cenários em que é importante ter eventos publicados imediatamente com um resultado determinista, certifique-se de que as chaves de partição são atribuídas a uma partição consistente com outros editores ou em que maximizar a disponibilidade é um requisito, sendo recomendada a utilização das EventHubProducerClient mesmas.

EventHubConsumerClient

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

Existem várias formas de criar um EventHubConsumerClient

  • Utilize o cadeia de ligação da política SAS criada para a instância do Hub de Eventos.
  • Utilize o cadeia de ligação da política SAS criada para o espaço de nomes do Hub de Eventos e o nome da instância do Hub de Eventos
  • Utilize o espaço de nomes completo, como <yournamespace>.servicebus.windows.net, e um objeto de credenciais.

Opcionalmente, também pode transmitir:

  • Um saco de opções para configurar a política de repetição ou as definições de proxy.
  • Um arquivo de pontos de verificação que é utilizado pelo cliente para ler pontos de verificação para determinar a posição de onde deve retomar a receção de eventos quando a sua aplicação é reiniciada. O arquivo de pontos de verificação também é utilizado pelo cliente para fazer o balanceamento de carga de várias instâncias da sua aplicação.
EventHubProducerClient

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

Existem várias formas de criar um EventHubProducerClient

  • Utilize o cadeia de ligação da política SAS criada para a instância do Hub de Eventos.
  • Utilize o cadeia de ligação da política SAS criada para o espaço de nomes do Hub de Eventos e o nome da instância do Hub de Eventos
  • Utilize o espaço de nomes completo, como <yournamespace>.servicebus.windows.net, e um objeto de credenciais.

Opcionalmente, também pode passar um saco de opções para configurar a política de repetição ou as definições de proxy.

MessagingError

Descreve a classe base para Erro de Mensagens.

Interfaces

BufferedCloseOptions

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

BufferedFlushOptions

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

Checkpoint

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

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

Nunca se espera que os utilizadores interajam diretamente.Checkpoint Esta interface existe para suportar o funcionamento interno de EventProcessor e CheckpointManager.

CheckpointStore

Um arquivo de pontos de verificação armazena e obtém informações de propriedade de partição e detalhes de ponto de verificação para cada partição num determinado grupo de consumidores de uma instância do hub de eventos.

Os utilizadores não se destinam a implementar um CheckpointStore. Espera-se que os utilizadores escolham implementações existentes desta interface, instanciem-na e transmitam-na para o construtor de classes EventHubConsumerClient ao instanciar um cliente. Não se espera que os utilizadores utilizem nenhum dos métodos num arquivo de pontos de verificação. Estes métodos são utilizados internamente pelo cliente.

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

CreateBatchOptions

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

  • partitionKey : um valor que é hashed 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.

Utilização de exemplo:

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

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

EventData

A interface que descreve os dados a serem enviados para o Hub de Eventos. Utilize esta opção como referência ao criar o objeto a ser enviado ao utilizar o EventHubProducerClient. Por exemplo, { body: "your-data" } ou

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

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

EventDataBatch

Uma interface que representa um lote de eventos que podem ser utilizados para enviar eventos para o Hub de Eventos.

Para criar o lote, utilize o createBatch() método no EventHubProducerClient. Para enviar o lote, utilize o sendBatch() método no mesmo cliente. Para preencher o lote, utilize o tryAdd() método 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 ao criar o EventHubClient.

  • userAgent : uma cadeia para acrescentar à cadeia de agente de utilizador incorporada que é transmitida como uma propriedade de ligação ao serviço.
  • webSocketOptions : opções para configurar a canalização da ligação AMQP através de Sockets Web.
    • websocket : o construtor WebSocket utilizado para criar uma ligação AMQP se optar por fazer a ligação através de um WebSocket.
    • webSocketConstructorOptions : opções para passar para o construtor websocket quando optar por fazer a ligaçã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 erro retráctil.
    • maxRetryDelayInMs: o atraso máximo entre as repetições. Aplicável apenas ao realizar repetições exponenciais.
    • mode: o modo de repetição a aplicar, especificado pela RetryMode enum. As opções são Exponential e Fixed. Predefinições para Fixed.
    • retryDelayInMs: período de tempo para aguardar em milissegundos antes de fazer a próxima tentativa. Quando mode está definido como Exponential, isto é utilizado para calcular os atrasos exponencialmente crescentes entre repetições. Predefinição: 30000 milissegundos.
    • timeoutInMs: período de tempo em milissegundos para aguardar antes de a operação exceder o limite de tempo. Isto irá acionar uma repetição se existirem tentativas de repetição restantes. Valor predefinido: 60000 milissegundos.

Uma utilização simples pode ser { "maxRetries": 4 }.

Utilização de exemplo:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

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

EventHubConsumerClientOptions

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

  • loadBalancingOptions: opções para otimizar a forma como o EventHubConsumerClient afirma partições.
  • userAgent : uma cadeia para acrescentar à cadeia de agente de utilizador incorporada que é transmitida como uma propriedade de ligação ao serviço.
  • webSocketOptions : opções para configurar a canalização da ligação AMQP através de Sockets Web.
    • websocket : o construtor WebSocket utilizado para criar uma ligação AMQP se optar por fazer a ligação através de um WebSocket.
    • webSocketConstructorOptions : opções para passar para o construtor websocket quando optar por fazer a ligaçã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 erro retráctil.
    • maxRetryDelayInMs: o atraso máximo entre as repetições. Aplicável apenas ao realizar repetições exponenciais.
    • mode: o modo de repetição a aplicar, especificado pela RetryMode enum. As opções são Exponential e Fixed. Predefinições para Fixed.
    • retryDelayInMs: período de tempo para aguardar em milissegundos antes de fazer a próxima tentativa. Quando mode está definido como Exponential, isto é utilizado para calcular os atrasos exponencialmente crescentes entre repetições. Predefinição: 30000 milissegundos.
    • timeoutInMs: período de tempo em milissegundos para aguardar antes de a operação exceder o limite de tempo. Isto irá acionar uma repetição se existirem tentativas de repetição restantes. Valor predefinido: 60000 milissegundos.

Uma utilização simples pode ser { "maxRetries": 4 }.

Utilização 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 numa partição do Hub de Eventos, normalmente utilizada ao chamar o subscribe() método num EventHubConsumerClient para especificar a posição na partição a partir da qual começar a receber eventos.

Para obter um EventPosition que represente o início ou o fim do fluxo, utilize as constantes earliestEventPosition e latestEventPosition respetivamente.

GetEventHubPropertiesOptions

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

  • abortSignal : uma implementação da AbortSignalLike interface para sinalizar o pedido para cancelar a operação.
  • parentSpan : o Span ou SpanContext para utilizar como o parent intervalo criado ao chamar esta operação.
GetPartitionIdsOptions

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

  • abortSignal : uma implementação da AbortSignalLike interface para sinalizar o pedido para cancelar a operação.
  • parentSpan : o Span ou SpanContext para utilizar como o parent intervalo criado ao chamar esta operação.
GetPartitionPropertiesOptions

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

  • abortSignal : uma implementação da AbortSignalLike interface para sinalizar o pedido para cancelar a operação.
  • parentSpan : o Span ou SpanContext para utilizar como o parent intervalo criado ao chamar esta operação.
LastEnqueuedEventProperties

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

LoadBalancingOptions

Um saco de opções para configurar as definiçõ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 a que 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 a que foram atribuídos.

OperationOptions

Opções para configurar o rastreio e abortSignal.

PartitionContext

Interface que descreve o contexto transmitido a cada uma das funções que fazem parte do SubscriptionEventHandlers. Ao implementar qualquer uma destas funções, utilize 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 em que instância de uma EventProcessor instância é proprietária do processamento de uma determinada partição de um grupo de consumidores de uma instância do Hub de Eventos.

Nota: esta ação é utilizada internamente pelo EventProcessor utilizador e nunca tem de criá-la 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. Utilize esta opção como referência ao criar a processEvents função para processar os eventos recebidos de um Hub de Eventos ao utilizar o EventHubConsumerClient.

RetryOptions

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

SendBatchOptions

Opções para configurar o sendBatch método ao EventHubProducerClient enviar uma matriz de eventos. Se partitionId estiver definido, partitionKey não pode 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 utilizado para cancelar a operação de envio.
SubscribeOptions

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

Subscription

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

SubscriptionEventHandlers

Interface que descreve as funções a implementar pelo utilizador que são invocadas pelo EventHubConsumerClient quando o subscribe() método é 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 tryAdd método na EventDataBatch classe .

WebSocketImpl

Descreve a forma necessária de construtores WebSocket.

WebSocketOptions

Opções para configurar a canalização da ligação AMQP através de Sockets Web.

Aliases de Tipo

ProcessCloseHandler

Assinatura da função fornecida pelo utilizador invocada logo EventHubConsumerClient após parar para receber eventos de uma partição.

ProcessErrorHandler

Assinatura da função fornecida pelo utilizador invocada por EventHubConsumerClient para erros que ocorrem ao receber eventos ou ao executar qualquer uma das funções fornecidas pelo utilizador transmitidas ao subscribe() método .

ProcessEventsHandler

Assinatura da função fornecida pelo utilizador invocada quando EventHubConsumerClient é recebido um conjunto de eventos.

ProcessInitializeHandler

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

Enumerações

CloseReason

Um enum que representa as diferentes razões para um EventHubConsumerClient parar de processar eventos de uma partição num grupo de consumidores de um Hub de Eventos.

RetryMode

Descreve o tipo modo de repetição

Funções

createEventDataAdapter(EventDataAdapterParameters)

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

parseEventHubConnectionString(string)

Analisa as cadeia de ligação fornecidas nas diferentes propriedades aplicáveis ao Hubs de Eventos do Azure. As propriedades são úteis para, em seguida, construir um EventHubProducerClient ou um EventHubConsumerClient.

Detalhes de Função

createEventDataAdapter(EventDataAdapterParameters)

Uma função que constrói um adaptador de dados de eventos. Esse adaptador pode ser utilizado para @azure/schema-registry-avro codificar e descodificar 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 eventos que pode produzir e consumir dados de eventos

parseEventHubConnectionString(string)

Analisa as cadeia de ligação fornecidas nas diferentes propriedades aplicáveis ao Hubs de Eventos do Azure. As propriedades são úteis para, em seguida, construir um EventHubProducerClient ou um EventHubConsumerClient.

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

Parâmetros

connectionString

string

O cadeia de ligação associado à Política de Acesso Partilhado criada para o espaço de nomes dos Hubs de Eventos.

Devoluções