EventHubBufferedProducerClient class
EventHubBufferedProducerClient
используется для публикации событий в определенном концентраторе событий.
Не EventHubBufferedProducerClient
публикует события немедленно.
Вместо этого события буферизуются, чтобы их можно было эффективно пакетировать и публиковать, когда пакет заполнен или maxWaitTimeInMs
не был помещен в очередь новые события.
В зависимости от параметров, указанных при постановке событий в очередь, они могут быть автоматически назначены секции, сгруппированы в соответствии с указанным ключом секции или назначены специально запрошенной секции.
Эта модель предназначена для того, чтобы перенести бремя пакетного управления с вызывающих объектов за счет недетерминированного времени для времени публикации событий. Существуют и дополнительные компромиссы, которые следует учитывать.
- В случае сбоя приложения события в буфере не будут опубликованы. Чтобы предотвратить потерю данных, вызывающим абонентам рекомендуется отслеживать ход публикации
onSendEventsSuccessHandler
с помощью обработчиков иonSendEventsErrorHandler
. - Событиям, указывающим ключ секции, может быть назначен раздел, отличный от тех, которые используют тот же ключ с другими производителями.
- В маловероятном случае, когда секция становится временно недоступной, восстановление может занять больше времени,
EventHubBufferedProducerClient
чем другие производители.
В сценариях, где важно немедленно публиковать события с детерминированным результатом, убедитесь, что ключи секции назначены секции в соответствии с другими издателями, или где требуется максимизация доступности, рекомендуется использовать EventHubProducerClient
.
Конструкторы
Event |
Класс |
Event |
Класс |
Event |
Класс |
Свойства
event |
Имя экземпляра концентратора событий, для которого создается этот клиент. |
fully |
Полное пространство имен экземпляра концентратора событий, для которого создается этот клиент. Скорее всего, это будет похоже на .servicebus.windows.net. |
identifier | Имя, используемое для идентификации этого объекта EventHubBufferedProducerClient. Если он не указан или пуст, будет создан случайный уникальный. |
Методы
close(Buffered |
Закрывает подключение AMQP к экземпляру концентратора событий, возвращая обещание, которое будет разрешено после завершения отключения. Перед закрытием подключения будет ожидать, пока в службе не будут перезапущены события, помещенные в очередь.
Чтобы закрыть без очистки |
enqueue |
Помещает событие в очередь в буфер для публикации в концентраторе событий. Если при вызове этого метода в буфере нет емкости, он будет ожидать, пока пространство станет доступным, и гарантирует, что событие помещено в очередь. Когда этот вызов возвращается, событие принимается в буфер, но, возможно, еще не опубликовано. Публикация будет выполняться в недетерминированной точке в будущем по мере обработки буфера. |
enqueue |
Помещает в очередь события в буфер для публикации в концентраторе событий. Если при вызове этого метода в буфере нет емкости, он будет ожидать, пока пространство станет доступным, и гарантирует, что события помещены в очередь. Когда этот вызов возвращается, события принимаются в буфер, но, возможно, еще не опубликованы. Публикация будет выполняться в недетерминированной точке в будущем по мере обработки буфера. |
flush(Buffered |
Пытается немедленно опубликовать все события в буфере.
Это может привести к публикации нескольких пакетов, результаты каждого из которых будут по отдельности |
get |
Предоставляет сведения о среде выполнения концентратора событий. |
get |
Предоставляет идентификатор для каждой секции, связанной с концентратором событий. |
get |
Предоставляет сведения о состоянии указанной секции. |
Сведения о конструкторе
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'.
Набор параметров, применяемых при настройке клиента.
-
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
Имя конкретного концентратора событий, к которому подключается клиент.
Набор параметров, применяемых при настройке клиента.
-
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
Объект учетных данных, используемый клиентом для получения маркера для проверки подлинности подключения к службе Центры событий Azure.
Сведения о создании учетных данных, поддерживающих проверку подлинности AAD, см. в разделе @azure/identity. AzureNamedKeyCredential
Используйте параметр from @azure/core-auth, если вы хотите передать SharedAccessKeyName
и SharedAccessKey
без использования строки подключения. Эти поля сопоставляют с полем name
и key
соответственно в AzureNamedKeyCredential
.
AzureSASCredential
Используйте параметр from @azure/core-auth, если требуется передать SharedAccessSignature
без использования строки подключения. Это поле сопоставляется с signature
в AzureSASCredential
.
Набор параметров, применяемых при настройке клиента.
-
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>
Параметры
- event
- 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
.
- 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
Набор параметров, применяемых к вызову операции.
Возвращаемое значение
Promise<EventHubProperties>
Обещание, которое разрешается со сведениями об экземпляре концентратора событий.
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
Набор параметров, применяемых к вызову операции.
Возвращаемое значение
Promise<PartitionProperties>
Обещание, разрешающееся со сведениями о состоянии секции .