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
onSendEventsSuccessHandlereonSendEventsErrorHandler. - 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
EventHubBufferedProducerClientpode 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
| Event |
A classe |
| Event |
A classe |
| Event |
A classe |
Propriedades
| event |
O nome da instância do Hub de Eventos para a qual esse cliente foi criado. |
| fully |
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(Buffered |
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 |
| enqueue |
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. |
| enqueue |
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(Buffered |
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 |
| get |
Fornece as informações de tempo de execução do Hub de Eventos. |
| get |
Fornece a id para cada partição associada ao Hub de Eventos. |
| get |
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'.
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.
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
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.
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
- event
- 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,partitionKeynão pode ser definido. -
partitionKey: Um valor que é colocado em hash para produzir uma atribuição de partição. Se definido,partitionIdnã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
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,partitionKeynão pode ser definido. -
partitionKey: Um valor que é colocado em hash para produzir uma atribuição de partição. Se definido,partitionIdnã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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
Uma promessa que se resolve com informações sobre o estado da partição.