Partilhar via


EventHubBufferedProducerClient class

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

Construtores

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

A EventHubBufferedProducerClient classe é utilizada para enviar eventos para um Hub de Eventos. Utilize o options parmeter para configurar a política de repetição ou as definições de proxy.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

A EventHubBufferedProducerClient classe é utilizada para enviar eventos para um Hub de Eventos. Utilize o options parmeter para configurar a política de repetição ou as definições de proxy.

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

A EventHubBufferedProducerClient classe é utilizada para enviar eventos para um Hub de Eventos. Utilize o options parmeter para configurar a política de repetição ou as definições de proxy.

Propriedades

eventHubName

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

fullyQualifiedNamespace

O espaço de nomes completamente qualificado da instância do Hub de Eventos para a qual este cliente é criado. É provável que seja semelhante a .servicebus.windows.net.

identifier

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

Métodos

close(BufferedCloseOptions)

Fecha a ligação AMQP à instância do Hub de Eventos, devolvendo uma promessa que será resolvida quando a desconexão estiver concluída.

Isto aguardará que os eventos enqueutados sejam descarregados para o serviço antes de fechar a ligação. Para fechar sem a descarga, defina a opção flush como false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Coloca um evento na memória intermédia para ser publicado no Hub de Eventos. Se não existir capacidade na memória intermédia quando este método for invocado, aguardará que o espaço fique disponível e certifique-se de que o evento foi colocado em fila.

Quando esta chamada é devolvida, o evento foi aceite na memória intermédia, mas poderá ainda não ter sido publicado. A publicação terá lugar num ponto não administrativo no futuro à medida que a memória intermédia é processada.

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

Coloca os eventos na memória intermédia para serem publicados no Hub de Eventos. Se não existir capacidade na memória intermédia quando este método for invocado, aguardará que o espaço fique disponível e certifique-se de que os eventos foram colocados em fila.

Quando esta chamada é devolvida, os eventos foram aceites na memória intermédia, mas podem ainda não ter sido publicados. A publicação terá lugar num ponto não administrativo no futuro à medida que a memória intermédia é processada.

flush(BufferedFlushOptions)

Tenta publicar todos os eventos na memória intermédia imediatamente. Isto pode resultar na publicação de vários lotes, o resultado de cada um dos quais será comunicado individualmente pelos onSendEventsSuccessHandler processadores e onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Fornece as informações de runtime do Hub de Eventos.

getPartitionIds(GetPartitionIdsOptions)

Fornece o 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 é utilizada para enviar eventos para um Hub de Eventos. Utilize o options parmeter para configurar a política de repetição ou as definições de proxy.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Parâmetros

connectionString

string

A cadeia de ligação a utilizar para ligar à instância do Hub de Eventos. Espera-se que as propriedades da chave partilhada e o caminho do Hub de Eventos estejam contidos nesta cadeia de ligaçã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 aplicar 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 ligação AMQP através de Sockets Web.
  • userAgent : uma cadeia para acrescentar à cadeia de agente de utilizador incorporada que é transmitida ao serviço.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

A EventHubBufferedProducerClient classe é utilizada para enviar eventos para um Hub de Eventos. Utilize o options parmeter para configurar a política de repetição ou as definições de proxy.

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

Parâmetros

connectionString

string

A cadeia de ligação a utilizar para ligar ao espaço de nomes dos Hubs de Eventos. Espera-se que as propriedades da chave partilhada estejam contidas nesta cadeia de ligação, mas não o 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 ligar o cliente.

options
EventHubBufferedProducerClientOptions

Um conjunto de opções a aplicar 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 ligação AMQP através de Sockets Web.
  • userAgent : uma cadeia para acrescentar à cadeia de agente de utilizador incorporada que é transmitida ao serviço.

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

A EventHubBufferedProducerClient classe é utilizada para enviar eventos para um Hub de Eventos. Utilize o options parmeter para configurar a política de repetição ou as definições de proxy.

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

Parâmetros

fullyQualifiedNamespace

string

O espaço de nomes completo que provavelmente será semelhante a .servicebus.windows.net

eventHubName

string

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

credential

TokenCredential | NamedKeyCredential | SASCredential

Um objeto de credencial utilizado pelo cliente para obter o token para autenticar a ligação com o serviço Hubs de Eventos do Azure. Veja @azure/identidade para criar credenciais que suportem a autenticação do AAD. Utilize a AzureNamedKeyCredential de @azure/core-auth se quiser transmitir uma SharedAccessKeyName e SharedAccessKey sem utilizar uma cadeia de ligação. Estes campos mapeiam para o name campo e key , respetivamente, em AzureNamedKeyCredential. Utilize a AzureSASCredential de @azure/core-auth se quiser transmitir uma SharedAccessSignature sem utilizar uma cadeia de ligação. Este campo mapeia para signature em AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Um conjunto de opções a aplicar 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 ligação AMQP através de Sockets Web.
  • userAgent : uma cadeia para acrescentar à cadeia de agente de utilizador incorporada que é transmitida ao serviço.

Detalhes de Propriedade

eventHubName

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

string eventHubName

Valor de Propriedade

string

fullyQualifiedNamespace

O espaço de nomes completamente qualificado da instância do Hub de Eventos para a qual este cliente é criado. É provável que seja semelhante a .servicebus.windows.net.

string fullyQualifiedNamespace

Valor de Propriedade

string

identifier

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

identifier: string

Valor de Propriedade

string

Detalhes de Método

close(BufferedCloseOptions)

Fecha a ligação AMQP à instância do Hub de Eventos, devolvendo uma promessa que será resolvida quando a desconexão estiver concluída.

Isto aguardará que os eventos enqueutados sejam descarregados para o serviço antes de fechar a ligação. Para fechar sem a descarga, defina a opção flush como false.

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

Parâmetros

options
BufferedCloseOptions

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

Devoluções

Promise<void>

Promessa

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Coloca um evento na memória intermédia para ser publicado no Hub de Eventos. Se não existir capacidade na memória intermédia quando este método for invocado, aguardará que o espaço fique disponível e certifique-se de que o evento foi colocado em fila.

Quando esta chamada é devolvida, o evento foi aceite na memória intermédia, mas poderá ainda não ter sido publicado. A publicação terá lugar num ponto não administrativo no futuro à medida que a memória intermédia é processada.

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 forma como o evento é enviado para o Hub de Eventos associado.

  • abortSignal : um sinal utilizado para cancelar a operação enqueueEvent.
  • partitionId : a partição para a qual este conjunto de eventos será enviado. Se estiver definido, partitionKey não pode ser definido.
  • partitionKey : um valor que é hashed para produzir uma atribuição de partição. Se estiver definido, partitionId não pode ser definido.

Devoluções

Promise<number>

O número total de eventos que estão atualmente em memória intermédia e à espera de serem publicados, em todas as partições.

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

Coloca os eventos na memória intermédia para serem publicados no Hub de Eventos. Se não existir capacidade na memória intermédia quando este método for invocado, aguardará que o espaço fique disponível e certifique-se de que os eventos foram colocados em fila.

Quando esta chamada é devolvida, os eventos foram aceites na memória intermédia, mas podem ainda não ter sido publicados. A publicação terá lugar num ponto não administrativo no futuro à medida que a memória intermédia é processada.

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 forma como os eventos são enviados para o Hub de Eventos associado.

  • abortSignal : um sinal utilizado para cancelar a operação enqueueEvents.
  • partitionId : a partição para a qual este conjunto de eventos será enviado. Se estiver definido, partitionKey não pode ser definido.
  • partitionKey : um valor que é hashed para produzir uma atribuição de partição. Se estiver definido, partitionId não pode ser definido.

Devoluções

Promise<number>

O número total de eventos que estão atualmente em memória intermédia e à espera de serem publicados, em todas as partições.

flush(BufferedFlushOptions)

Tenta publicar todos os eventos na memória intermédia imediatamente. Isto pode resultar na publicação de vários lotes, o resultado de cada um dos quais será comunicado individualmente pelos onSendEventsSuccessHandler processadores e onSendEventsErrorHandler .

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

Parâmetros

options
BufferedFlushOptions

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

Devoluções

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 aplicar à chamada de operação.

Devoluções

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

getPartitionIds(GetPartitionIdsOptions)

Fornece o 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 aplicar à chamada de operação.

Devoluções

Promise<string[]>

Uma promessa que resolve com uma Matriz de cadeias que representa o 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 são necessárias informações.

options
GetPartitionPropertiesOptions

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

Devoluções

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