Compartilhar via


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 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 deslocar a carga do gerenciamento em lote 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 terão sido publicados. Para evitar a perda de dados, os chamadores são incentivados a acompanhar o progresso da publicação usando os onSendEventsSuccessHandler manipuladores 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 é recomendado.

Construtores

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

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

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

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

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

A EventHubBufferedProducerClient classe é usada para enviar eventos para um Hub de Eventos. Use o options parmeter 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 é 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 a .servicebus.windows.net.

identifier

O nome usado para identificar este EventHubBufferedProducerClient. Se não for especificado ou vazio, um aleatório exclusivo 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 liberar, defina a opção flush como false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Enfileira um evento no buffer a ser publicado no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará o espaço ficar 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 a serem publicados no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará o espaço ficar 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, o resultado de cada um deles será relatado individualmente pelos onSendEventsSuccessHandler manipuladores e onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Fornece as informações de runtime 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 EventHubBufferedProducerClient classe é usada para enviar eventos para um Hub de Eventos. Use o options parmeter 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 por meio de Web Sockets.
  • userAgent : uma cadeia de caracteres a ser acrescentada à cadeia de caracteres interna do agente de usuário que é passada para o serviço.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

A EventHubBufferedProducerClient classe é usada para enviar eventos para um Hub de Eventos. Use o options parmeter 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 dos 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 por meio de Web Sockets.
  • userAgent : uma cadeia de caracteres a ser acrescentada à cadeia de caracteres interna do agente de usuário que é passada para o serviço.

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

A EventHubBufferedProducerClient classe é usada para enviar eventos para um Hub de Eventos. Use o options parmeter 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 a .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 dão suporte à autenticação do AAD. Use o AzureNamedKeyCredential de @azure/core-auth se você quiser passar um SharedAccessKeyName e SharedAccessKey sem usar uma cadeia de conexão. Esses campos são mapeados para o name campo e key , respectivamente, em AzureNamedKeyCredential. Use o AzureSASCredential de @azure/core-auth se quiser passar um SharedAccessSignature sem usar uma cadeia de conexão. Esse 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 por meio de Web Sockets.
  • userAgent : uma cadeia de caracteres a ser acrescentada à cadeia de caracteres interna do agente de usuário que é passada para o serviço.

Detalhes da propriedade

eventHubName

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

string eventHubName

Valor da 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 a .servicebus.windows.net.

string fullyQualifiedNamespace

Valor da propriedade

string

identifier

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

identifier: string

Valor da propriedade

string

Detalhes do 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 liberar, 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.

Retornos

Promise<void>

Prometo

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Enfileira um evento no buffer a ser publicado no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará o espaço ficar 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 esse conjunto de eventos será enviado. Se definido, partitionKey não poderá ser definido.
  • partitionKey : um valor que é hash para produzir uma atribuição de partição. Se definido, partitionId não poderá ser definido.

Retornos

Promise<number>

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

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

Enfileira eventos no buffer a serem publicados no Hub de Eventos. Se não houver capacidade no buffer quando esse método for invocado, ele aguardará o espaço ficar 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 esse conjunto de eventos será enviado. Se definido, partitionKey não poderá ser definido.
  • partitionKey : um valor que é hash para produzir uma atribuição de partição. Se definido, partitionId não poderá ser definido.

Retornos

Promise<number>

O número total de eventos 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, o resultado de cada um deles será relatado individualmente pelos onSendEventsSuccessHandler manipuladores e onSendEventsErrorHandler .

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

Parâmetros

options
BufferedFlushOptions

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

Retornos

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Fornece as informações de runtime 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.

Retornos

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.

Retornos

Promise<string[]>

Uma promessa que é resolvida com uma Matriz de cadeias de caracteres que representa 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

A 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.

Retornos

Uma promessa que é resolvida com informações sobre o estado da partição .