Поделиться через


EventHubBufferedProducerClient class

EventHubBufferedProducerClientиспользуется для публикации событий в определенном концентраторе событий.

Не EventHubBufferedProducerClient публикует события немедленно. Вместо этого события буферизуются, чтобы их можно было эффективно пакетировать и публиковать, когда пакет заполнен или maxWaitTimeInMs не был помещен в очередь новые события.

В зависимости от параметров, указанных при постановке событий в очередь, они могут быть автоматически назначены секции, сгруппированы в соответствии с указанным ключом секции или назначены специально запрошенной секции.

Эта модель предназначена для того, чтобы перенести бремя пакетного управления с вызывающих объектов за счет недетерминированного времени для времени публикации событий. Существуют и дополнительные компромиссы, которые следует учитывать.

  • В случае сбоя приложения события в буфере не будут опубликованы. Чтобы предотвратить потерю данных, вызывающим абонентам рекомендуется отслеживать ход публикации onSendEventsSuccessHandler с помощью обработчиков и onSendEventsErrorHandler .
  • Событиям, указывающим ключ секции, может быть назначен раздел, отличный от тех, которые используют тот же ключ с другими производителями.
  • В маловероятном случае, когда секция становится временно недоступной, восстановление может занять больше времени, EventHubBufferedProducerClient чем другие производители.

В сценариях, где важно немедленно публиковать события с детерминированным результатом, убедитесь, что ключи секции назначены секции в соответствии с другими издателями, или где требуется максимизация доступности, рекомендуется использовать EventHubProducerClient .

Конструкторы

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Класс EventHubBufferedProducerClient используется для отправки событий в концентратор событий. options Используйте парметр для настройки политики повтора или параметров прокси-сервера.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Класс EventHubBufferedProducerClient используется для отправки событий в концентратор событий. options Используйте парметр для настройки политики повтора или параметров прокси-сервера.

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

Класс EventHubBufferedProducerClient используется для отправки событий в концентратор событий. options Используйте парметр для настройки политики повтора или параметров прокси-сервера.

Свойства

eventHubName

Имя экземпляра концентратора событий, для которого создается этот клиент.

fullyQualifiedNamespace

Полное пространство имен экземпляра концентратора событий, для которого создается этот клиент. Скорее всего, это будет похоже на .servicebus.windows.net.

identifier

Имя, используемое для идентификации этого объекта EventHubBufferedProducerClient. Если он не указан или пуст, будет создан случайный уникальный.

Методы

close(BufferedCloseOptions)

Закрывает подключение AMQP к экземпляру концентратора событий, возвращая обещание, которое будет разрешено после завершения отключения.

Перед закрытием подключения будет ожидать, пока в службе не будут перезапущены события, помещенные в очередь. Чтобы закрыть без очистки flush , задайте для параметра значение false.

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Помещает событие в очередь в буфер для публикации в концентраторе событий. Если при вызове этого метода в буфере нет емкости, он будет ожидать, пока пространство станет доступным, и гарантирует, что событие помещено в очередь.

Когда этот вызов возвращается, событие принимается в буфер, но, возможно, еще не опубликовано. Публикация будет выполняться в недетерминированной точке в будущем по мере обработки буфера.

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

Помещает в очередь события в буфер для публикации в концентраторе событий. Если при вызове этого метода в буфере нет емкости, он будет ожидать, пока пространство станет доступным, и гарантирует, что события помещены в очередь.

Когда этот вызов возвращается, события принимаются в буфер, но, возможно, еще не опубликованы. Публикация будет выполняться в недетерминированной точке в будущем по мере обработки буфера.

flush(BufferedFlushOptions)

Пытается немедленно опубликовать все события в буфере. Это может привести к публикации нескольких пакетов, результаты каждого из которых будут по отдельности onSendEventsSuccessHandler сообщаться обработчиками и onSendEventsErrorHandler .

getEventHubProperties(GetEventHubPropertiesOptions)

Предоставляет сведения о среде выполнения концентратора событий.

getPartitionIds(GetPartitionIdsOptions)

Предоставляет идентификатор для каждой секции, связанной с концентратором событий.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Предоставляет сведения о состоянии указанной секции.

Сведения о конструкторе

EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)

Класс EventHubBufferedProducerClient используется для отправки событий в концентратор событий. options Используйте парметр для настройки политики повтора или параметров прокси-сервера.

new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)

Параметры

connectionString

string

Строка подключения, используемая для подключения к экземпляру концентратора событий. Ожидается, что в этой строке подключения содержатся свойства общего ключа и путь к концентратору событий. Например, 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubBufferedProducerClientOptions

Набор параметров, применяемых при настройке клиента.

  • retryOptions : настраивает политику повтора для всех операций на клиенте. Например, { "maxRetries": 4 } или { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: настраивает канал подключения AMQP через веб-сокеты.
  • userAgent : строка, добавляемая к встроенной строке агента пользователя, передаваемой службе.

EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)

Класс EventHubBufferedProducerClient используется для отправки событий в концентратор событий. options Используйте парметр для настройки политики повтора или параметров прокси-сервера.

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

Параметры

connectionString

string

Строка подключения, используемая для подключения к пространству имен Центров событий. Ожидается, что свойства общего ключа содержатся в этой строке подключения, но не в пути концентратора событий, например Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Имя конкретного концентратора событий, к которому подключается клиент.

options
EventHubBufferedProducerClientOptions

Набор параметров, применяемых при настройке клиента.

  • retryOptions : настраивает политику повтора для всех операций на клиенте. Например, { "maxRetries": 4 } или { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: настраивает канал подключения AMQP через веб-сокеты.
  • userAgent : строка, добавляемая к встроенной строке агента пользователя, передаваемой службе.

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

Класс EventHubBufferedProducerClient используется для отправки событий в концентратор событий. options Используйте парметр для настройки политики повтора или параметров прокси-сервера.

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

Параметры

fullyQualifiedNamespace

string

Полное пространство имен, которое, скорее всего, будет похоже на .servicebus.windows.net

eventHubName

string

Имя конкретного концентратора событий, к которому подключается клиент.

credential

TokenCredential | NamedKeyCredential | SASCredential

Объект учетных данных, используемый клиентом для получения маркера для проверки подлинности подключения к службе Центры событий Azure. Сведения о создании учетных данных, поддерживающих проверку подлинности AAD, см. в разделе @azure/identity. AzureNamedKeyCredential Используйте параметр from @azure/core-auth, если вы хотите передать SharedAccessKeyName и SharedAccessKey без использования строки подключения. Эти поля сопоставляют с полем name и key соответственно в AzureNamedKeyCredential. AzureSASCredential Используйте параметр from @azure/core-auth, если требуется передать SharedAccessSignature без использования строки подключения. Это поле сопоставляется с signature в AzureSASCredential.

options
EventHubBufferedProducerClientOptions

Набор параметров, применяемых при настройке клиента.

  • retryOptions : настраивает политику повторных попыток для всех операций на клиенте. Например, { "maxRetries": 4 } или { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: настраивает ченнелинг подключения AMQP через веб-сокеты.
  • userAgent : строка, добавляемая к встроенной строке агента пользователя, передаваемой службе.

Сведения о свойстве

eventHubName

Имя экземпляра концентратора событий, для которого создается этот клиент.

string eventHubName

Значение свойства

string

fullyQualifiedNamespace

Полное пространство имен экземпляра концентратора событий, для которого создается этот клиент. Скорее всего, это будет похоже на .servicebus.windows.net.

string fullyQualifiedNamespace

Значение свойства

string

identifier

Имя, используемое для идентификации этого объекта EventHubBufferedProducerClient. Если он не указан или пуст, будет создан случайный уникальный.

identifier: string

Значение свойства

string

Сведения о методе

close(BufferedCloseOptions)

Закрывает подключение AMQP к экземпляру концентратора событий, возвращая обещание, которое будет разрешено после завершения отключения.

Перед закрытием подключения будет ожидать, пока в службе не будут перезапущены события, помещенные в очередь. Чтобы закрыть без очистки flush , задайте для параметра значение false.

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

Параметры

options
BufferedCloseOptions

Набор параметров, применяемых к вызову операции.

Возвращаемое значение

Promise<void>

Promise

enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)

Помещает событие в очередь в буфер для публикации в концентраторе событий. Если при вызове этого метода в буфере нет емкости, он будет ожидать, пока пространство станет доступным, и гарантирует, что событие помещено в очередь.

Когда этот вызов возвращается, событие принимается в буфер, но, возможно, еще не опубликовано. Публикация будет выполняться в недетерминированной точке в будущем по мере обработки буфера.

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

Параметры

options
EnqueueEventOptions

Набор параметров, которые можно указать, чтобы повлиять на способ отправки события в связанный концентратор событий.

  • abortSignal : сигнал, используемый для отмены операции enqueueEvent.
  • partitionId : раздел, в который будет отправляться этот набор событий. Если задано значение , partitionKey его нельзя задать.
  • partitionKey : значение, хэширование которого выполняется для создания назначения секции. Если задано значение , partitionId его нельзя задать.

Возвращаемое значение

Promise<number>

Общее количество событий, которые в данный момент буферичены и ожидают публикации, во всех секциях.

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

Помещает в очередь события в буфер для публикации в концентраторе событий. Если при вызове этого метода в буфере нет емкости, он будет ожидать, пока пространство станет доступным, и гарантирует, что события помещены в очередь.

Когда этот вызов возвращается, события принимаются в буфер, но, возможно, еще не опубликованы. Публикация будет выполняться в недетерминированной точке в будущем по мере обработки буфера.

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

Параметры

events

EventData[] | AmqpAnnotatedMessage[]

Массив EventData или AmqpAnnotatedMessage.

options
EnqueueEventOptions

Набор параметров, которые можно указать, чтобы повлиять на способ отправки событий в связанный концентратор событий.

  • abortSignal : сигнал, используемый для отмены операции enqueueEvents.
  • partitionId : раздел, в который будет отправляться этот набор событий. Если задано значение , partitionKey его нельзя задать.
  • partitionKey : значение, хэширование которого выполняется для создания назначения секции. Если задано значение , partitionId его нельзя задать.

Возвращаемое значение

Promise<number>

Общее количество событий, которые в данный момент буферичены и ожидают публикации, во всех секциях.

flush(BufferedFlushOptions)

Пытается немедленно опубликовать все события в буфере. Это может привести к публикации нескольких пакетов, результаты каждого из которых будут по отдельности onSendEventsSuccessHandler сообщаться обработчиками и onSendEventsErrorHandler .

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

Параметры

options
BufferedFlushOptions

Набор параметров, применяемых к вызову операции.

Возвращаемое значение

Promise<void>

getEventHubProperties(GetEventHubPropertiesOptions)

Предоставляет сведения о среде выполнения концентратора событий.

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

Параметры

options
GetEventHubPropertiesOptions

Набор параметров, применяемых к вызову операции.

Возвращаемое значение

Обещание, которое разрешается со сведениями об экземпляре концентратора событий.

getPartitionIds(GetPartitionIdsOptions)

Предоставляет идентификатор для каждой секции, связанной с концентратором событий.

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

Параметры

options
GetPartitionIdsOptions

Набор параметров, применяемых к вызову операции.

Возвращаемое значение

Promise<string[]>

Обещание, разрешающееся с массивом строк, представляющим идентификатор для каждой секции, связанной с концентратором событий.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Предоставляет сведения о состоянии указанной секции.

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

Параметры

partitionId

string

Идентификатор секции, для которой требуются сведения.

options
GetPartitionPropertiesOptions

Набор параметров, применяемых к вызову операции.

Возвращаемое значение

Обещание, разрешающееся со сведениями о состоянии секции .