EventHubBufferedProducerClient class

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.

Construtores

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

A classe EventHubBufferedProducerClient é usada para enviar eventos para um Hub de Eventos. Use o parmeter options para definir a política de repetição ou as configurações de proxy.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

A classe EventHubBufferedProducerClient é usada para enviar eventos para um Hub de Eventos. Use o parmeter options para definir a política de repetição ou as configurações de proxy.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

A classe EventHubBufferedProducerClient é usada para enviar eventos para um Hub de Eventos. Use o parmeter options para definir a política de repetição ou as configurações de proxy.

Propriedades

eventHubName

O nome da instância do Hub de Eventos para a qual esse cliente foi criado.

fullyQualifiedNamespace

O namespace totalmente qualificado da instância do Hub de Eventos para a qual esse cliente é criado. É provável que isso seja semelhante ao <seunamespace.servicebus.windows.net>.

identifier

O nome usado para identificar este EventHubBufferedProducerClient. Se não for especificado ou vazio, um único aleatório será gerado.

Métodos

close(BufferedCloseOptions)

Fecha a conexão AMQP com a instância do Hub de Eventos, retornando uma promessa que será resolvida quando a desconexão for concluída.

Isso aguardará que os eventos enfileirados sejam liberados para o serviço antes de fechar a conexão. Para fechar sem rubor, defina a opção flush como false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Enfileira um evento no buffer para ser publicado no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará que o espaço fique disponível e garantirá que o evento tenha sido enfileirado.

Quando essa chamada retorna, o evento foi aceito no buffer, mas pode não ter sido publicado ainda. A publicação ocorrerá em um ponto não determinístico no futuro, à medida que o buffer for processado.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Enfileira eventos no buffer para serem publicados no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará que o espaço fique disponível e garantirá que os eventos tenham sido enfileirados.

Quando essa chamada retorna, os eventos foram aceitos no buffer, mas talvez ainda não tenham sido publicados. A publicação ocorrerá em um ponto não determinístico no futuro, à medida que o buffer for processado.

flush(BufferedFlushOptions)

Tenta publicar todos os eventos no buffer imediatamente. Isso pode resultar na publicação de vários lotes, cujo resultado de cada um deles será relatado individualmente pelos manipuladores de onSendEventsSuccessHandler e onSendEventsErrorHandler.

getEventHubProperties(GetEventHubPropertiesOptions)

Fornece as informações de tempo de execução do Hub de Eventos.

getPartitionIds(GetPartitionIdsOptions)

Fornece a id para cada partição associada ao Hub de Eventos.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Fornece informações sobre o estado da partição especificada.

Detalhes do Construtor

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

A classe EventHubBufferedProducerClient é usada para enviar eventos para um Hub de Eventos. Use o parmeter options para definir a política de repetição ou as configurações de proxy.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parâmetros

connectionString

string

A cadeia de conexão a ser usada para se conectar à instância do Hub de Eventos. Espera-se que as propriedades de chave compartilhada e o caminho do Hub de Eventos estejam contidos nessa cadeia de conexão. por exemplo, 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Um conjunto de opções a serem aplicadas ao configurar o cliente.

  • retryOptions : Configura a política de repetição para todas as operações no cliente. Por exemplo, { "maxRetries": 4 } ou { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Configura a canalização da conexão AMQP através de Web Sockets.
  • userAgent : Uma cadeia de caracteres para acrescentar à cadeia de caracteres do agente do usuário interna que é passada para o serviço.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

A classe EventHubBufferedProducerClient é usada para enviar eventos para um Hub de Eventos. Use o parmeter options para definir a política de repetição ou as configurações de proxy.

new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)

Parâmetros

connectionString

string

A cadeia de conexão a ser usada para se conectar ao namespace Hubs de Eventos. Espera-se que as propriedades de chave compartilhada estejam contidas nessa cadeia de conexão, mas não no caminho do Hub de Eventos, por exemplo, 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

O nome do Hub de Eventos específico ao qual conectar o cliente.

options
EventHubBufferedProducerClientOptions

Um conjunto de opções a serem aplicadas ao configurar o cliente.

  • retryOptions : Configura a política de repetição para todas as operações no cliente. Por exemplo, { "maxRetries": 4 } ou { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Configura a canalização da conexão AMQP através de Web Sockets.
  • userAgent : Uma cadeia de caracteres para acrescentar à cadeia de caracteres do agente do usuário interna que é passada para o serviço.

EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)

A classe EventHubBufferedProducerClient é usada para enviar eventos para um Hub de Eventos. Use o parmeter options para definir a política de repetição ou as configurações de proxy.

new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)

Parâmetros

fullyQualifiedNamespace

string

O namespace completo que provavelmente será semelhante ao <seunamespace.servicebus.windows.net>

eventHubName

string

O nome do Hub de Eventos específico ao qual conectar o cliente.

credential

TokenCredential | NamedKeyCredential | SASCredential

Um objeto de credencial usado pelo cliente para obter o token para autenticar a conexão com o serviço Hubs de Eventos do Azure. Consulte @azure/identity para criar credenciais que suportam AAD auth. Use o AzureNamedKeyCredential de @azure/core-auth se quiser passar um SharedAccessKeyName e SharedAccessKey sem usar uma cadeia de conexão. Esses campos são mapeados para o campo name e key, respectivamente, em AzureNamedKeyCredential. Use o AzureSASCredential de @azure/core-auth se quiser passar um SharedAccessSignature sem usar uma cadeia de conexão. Este campo é mapeado para signature em AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Um conjunto de opções a serem aplicadas ao configurar o cliente.

  • retryOptions : Configura a política de repetição para todas as operações no cliente. Por exemplo, { "maxRetries": 4 } ou { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Configura a canalização da conexão AMQP através de Web Sockets.
  • userAgent : Uma cadeia de caracteres para acrescentar à cadeia de caracteres do agente do usuário interna que é passada para o serviço.

Detalhes de Propriedade

eventHubName

O nome da instância do Hub de Eventos para a qual esse cliente foi criado.

string eventHubName

Valor de Propriedade

string

fullyQualifiedNamespace

O namespace totalmente qualificado da instância do Hub de Eventos para a qual esse cliente é criado. É provável que isso seja semelhante ao <seunamespace.servicebus.windows.net>.

string fullyQualifiedNamespace

Valor de Propriedade

string

identifier

O nome usado para identificar este EventHubBufferedProducerClient. Se não for especificado ou vazio, um único aleatório será gerado.

identifier: string

Valor de Propriedade

string

Detalhes de Método

close(BufferedCloseOptions)

Fecha a conexão AMQP com a instância do Hub de Eventos, retornando uma promessa que será resolvida quando a desconexão for concluída.

Isso aguardará que os eventos enfileirados sejam liberados para o serviço antes de fechar a conexão. Para fechar sem rubor, defina a opção flush como false.

function close(options?: BufferedCloseOptions): Promise<void>

Parâmetros

options
BufferedCloseOptions

O conjunto de opções a serem aplicadas à chamada de operação.

Devoluções

Promise<void>

Promessa<anulada>

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Enfileira um evento no buffer para ser publicado no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará que o espaço fique disponível e garantirá que o evento tenha sido enfileirado.

Quando essa chamada retorna, o evento foi aceito no buffer, mas pode não ter sido publicado ainda. A publicação ocorrerá em um ponto não determinístico no futuro, à medida que o buffer for processado.

function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>

Parâmetros

options
EnqueueEventOptions

Um conjunto de opções que podem ser especificadas para influenciar a maneira como o evento é enviado para o Hub de Eventos associado.

  • abortSignal : Um sinal usado para cancelar a operação enqueueEvent.
  • partitionId : A partição para a qual este conjunto de eventos será enviado. Se definido, partitionKey não pode ser definido.
  • partitionKey : Um valor que é colocado em hash para produzir uma atribuição de partição. Se definido, partitionId não pode ser definido.

Devoluções

Promise<number>

O número total de eventos que estão atualmente armazenados em buffer e aguardando para serem publicados, em todas as partições.

enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)

Enfileira eventos no buffer para serem publicados no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará que o espaço fique disponível e garantirá que os eventos tenham sido enfileirados.

Quando essa chamada retorna, os eventos foram aceitos no buffer, mas talvez ainda não tenham sido publicados. A publicação ocorrerá em um ponto não determinístico no futuro, à medida que o buffer for processado.

function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>

Parâmetros

events

EventData[] | AmqpAnnotatedMessage[]

Uma matriz de EventData ou AmqpAnnotatedMessage.

options
EnqueueEventOptions

Um conjunto de opções que podem ser especificadas para influenciar a maneira como os eventos são enviados para o Hub de Eventos associado.

  • abortSignal : Um sinal usado para cancelar a operação enqueueEvents.
  • partitionId : A partição para a qual este conjunto de eventos será enviado. Se definido, partitionKey não pode ser definido.
  • partitionKey : Um valor que é colocado em hash para produzir uma atribuição de partição. Se definido, partitionId não pode ser definido.

Devoluções

Promise<number>

O número total de eventos que estão atualmente armazenados em buffer e aguardando para serem publicados, em todas as partições.

flush(BufferedFlushOptions)

Tenta publicar todos os eventos no buffer imediatamente. Isso pode resultar na publicação de vários lotes, cujo resultado de cada um deles será relatado individualmente pelos manipuladores de onSendEventsSuccessHandler e onSendEventsErrorHandler.

function flush(options?: BufferedFlushOptions): Promise<void>

Parâmetros

options
BufferedFlushOptions

O conjunto de opções a serem aplicadas à chamada de operação.

Devoluções

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Fornece as informações de tempo de execução do Hub de Eventos.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parâmetros

options
GetEventHubPropertiesOptions

O conjunto de opções a serem aplicadas à chamada de operação.

Devoluções

Uma promessa que é resolvida com informações sobre a instância do Hub de Eventos.

getPartitionIds(GetPartitionIdsOptions)

Fornece a id para cada partição associada ao Hub de Eventos.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parâmetros

options
GetPartitionIdsOptions

O conjunto de opções a serem aplicadas à chamada de operação.

Devoluções

Promise<string[]>

Uma promessa que é resolvida com uma matriz de cadeias de caracteres que representam a id de cada partição associada ao Hub de Eventos.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Fornece informações sobre o estado da partição especificada.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parâmetros

partitionId

string

O id da partição para a qual as informações são necessárias.

options
GetPartitionPropertiesOptions

O conjunto de opções a serem aplicadas à chamada de operação.

Devoluções

Uma promessa que se resolve com informações sobre o estado da partição.