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


@azure/event-hubs package

Классы

EventHubBufferedProducerClient

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

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

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

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

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

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

EventHubConsumerClient

Класс EventHubConsumerClient используется для получения событий из концентратора событий.

Существует несколько способов создания EventHubConsumerClient

  • Используйте строка подключения из политики SAS, созданной для экземпляра концентратора событий.
  • Используйте строка подключения из политики SAS, созданной для пространства имен концентратора событий, и имя экземпляра концентратора событий.
  • Используйте полное пространство имен, например <yournamespace>.servicebus.windows.net, и объект учетных данных.

При необходимости можно также передать:

  • Контейнер параметров для настройки политики повтора или параметров прокси-сервера.
  • Хранилище контрольных точек, которое используется клиентом для чтения контрольных точек, чтобы определить расположение, из которого он должен возобновить получение событий при перезапуске приложения. Хранилище контрольных точек также используется клиентом для балансировки нагрузки нескольких экземпляров приложения.
EventHubProducerClient

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

Существует несколько способов создания EventHubProducerClient

  • Используйте строка подключения из политики SAS, созданной для экземпляра концентратора событий.
  • Используйте строка подключения из политики SAS, созданной для пространства имен концентратора событий, и имя экземпляра концентратора событий.
  • Используйте полное пространство имен, например <yournamespace>.servicebus.windows.net, и объект учетных данных.

При необходимости можно также передать контейнер параметров для настройки политики повтора или параметров прокси-сервера.

MessagingError

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

Интерфейсы

BufferedCloseOptions

Параметры для настройки close метода в EventHubBufferedProducerClient.

BufferedFlushOptions

Параметры для настройки flush метода в EventHubBufferedProducerClient.

Checkpoint

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

При вызове updateCheckpoint() метода в PartitionProcessor классе пользователем Checkpoint создается внутренне. Затем он сохраняется в решении для хранения, реализованном CheckpointManager пользователем при создании EventProcessor.

Пользователи никогда не должны взаимодействовать напрямую Checkpoint . Этот интерфейс поддерживает внутреннюю работу EventProcessor и CheckpointManager.

CheckpointStore

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

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

CheckpointStore Реализации можно найти в npm, выполнив поиск пакетов с префиксом @azure/eventhub-checkpointstore-.

CreateBatchOptions

Параметры для настройки createBatch метода в EventHubProducerClient.

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

Пример использования:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Параметры для настройки enqueueEvents метода в EventHubBufferedProducerClient.

EventData

Интерфейс, описывающий данные, отправляемые в концентратор событий. Используйте его в качестве ссылки при создании объекта для отправки EventHubProducerClientпри использовании . Например, { body: "your-data" } или .

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Параметры функции createEventDataAdapter , создающей адаптер данных о событиях.

EventDataBatch

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

Чтобы создать пакет, используйте createBatch() метод в EventHubProducerClient. Чтобы отправить пакет, используйте sendBatch() метод на том же клиенте. Чтобы заполнить пакет, используйте tryAdd() метод в самом пакете.

EventHubBufferedProducerClientOptions

Описывает параметры, которые можно предоставить при создании EventHubBufferedProducerClient.

EventHubClientOptions

Описание параметров, которые можно предоставить при создании EventHubClient.

  • userAgent : строка, добавляемая к встроенной строке агента пользователя, которая передается в качестве свойства подключения к службе.
  • webSocketOptions : параметры для настройки ченнелинга подключения AMQP через веб-сокеты.
    • websocket : конструктор WebSocket, используемый для создания подключения AMQP, если вы решили установить подключение через WebSocket.
    • webSocketConstructorOptions : параметры для передачи в конструктор Websocket при выборе соединения через WebSocket.
  • retryOptions : параметры повтора для всех операций клиента, производителя или потребителя.
    • maxRetries : количество повторных попыток выполнения операции в случае ошибки, допускаемой повторной попыткой.
    • maxRetryDelayInMs: максимальная задержка между повторными попытками. Применимо только при выполнении экспоненциальных повторных попыток.
    • mode: применяемый режим повтора, заданный перечислением RetryMode . Возможные значения: Exponential и Fixed. По умолчанию — Fixed.
    • retryDelayInMs: время ожидания в миллисекундах перед выполнением следующей попытки. Если mode задано значение Exponential, это используется для вычисления экспоненциально увеличивающихся задержек между повторными попытками. Значение по умолчанию: 30000 миллисекунда.
    • timeoutInMs: время ожидания (в миллисекундах) до истечения времени ожидания операции. При этом будет запущена повторная попытка, если еще есть какие-либо повторные попытки. Значение по умолчанию: 60000 миллисекунда.

Простым способом использования может быть { "maxRetries": 4 }.

Пример использования:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

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

EventHubConsumerClientOptions

Описание параметров, которые можно предоставить при создании EventHubConsumerClient.

  • loadBalancingOptions: параметры для настройки секционирования утверждений EventHubConsumerClient.
  • userAgent : строка, добавляемая к встроенной строке агента пользователя, которая передается в качестве свойства подключения к службе.
  • webSocketOptions : параметры для настройки ченнелинга подключения AMQP через веб-сокеты.
    • websocket : конструктор WebSocket, используемый для создания подключения AMQP, если вы решили установить подключение через WebSocket.
    • webSocketConstructorOptions : параметры для передачи в конструктор Websocket при выборе соединения через WebSocket.
  • retryOptions : параметры повтора для всех операций клиента, производителя или потребителя.
    • maxRetries : количество повторных попыток выполнения операции в случае ошибки, допускаемой повторной попыткой.
    • maxRetryDelayInMs: максимальная задержка между повторными попытками. Применимо только при выполнении экспоненциальных повторных попыток.
    • mode: применяемый режим повтора, заданный перечислением RetryMode . Возможные значения: Exponential и Fixed. По умолчанию — Fixed.
    • retryDelayInMs: время ожидания в миллисекундах перед выполнением следующей попытки. Если mode задано значение Exponential, это используется для вычисления экспоненциально увеличивающихся задержек между повторными попытками. Значение по умолчанию: 30000 миллисекунда.
    • timeoutInMs: время ожидания (в миллисекундах) до истечения времени ожидания операции. При этом будет запущена повторная попытка, если еще есть какие-либо повторные попытки. Значение по умолчанию: 60000 миллисекунда.

Простым способом использования может быть { "maxRetries": 4 }.

Пример использования:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

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

EventPosition

Представляет позицию события в секции концентратора событий, которая обычно используется при вызове subscribe() метода EventHubConsumerClient в , чтобы указать позицию в секции, откуда начинается получение событий.

Чтобы получить eventPosition, представляющее начало или конец потока, используйте константы earliestEventPosition и latestEventPosition соответственно.

GetEventHubPropertiesOptions

Набор параметров для настройки поведения getEventHubProperties.

  • abortSignal : реализация интерфейса для передачи AbortSignalLike сигнала о запросе на отмену операции.
  • parentSpan: или SpanContext для использования в parent качестве диапазона, созданного при вызове Span этой операции.
GetPartitionIdsOptions

Набор параметров для настройки поведения getPartitionIds.

  • abortSignal : реализация интерфейса для передачи AbortSignalLike сигнала о запросе на отмену операции.
  • parentSpan: или SpanContext для использования в parent качестве диапазона, созданного при вызове Span этой операции.
GetPartitionPropertiesOptions

Набор параметров для настройки поведения getPartitionProperties.

  • abortSignal : реализация интерфейса для передачи AbortSignalLike сигнала о запросе на отмену операции.
  • parentSpan: или SpanContext для использования в parent качестве диапазона, созданного при вызове Span этой операции.
LastEnqueuedEventProperties

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

LoadBalancingOptions

Контейнер параметров для настройки параметров балансировки нагрузки.

OnSendEventsErrorContext

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

OnSendEventsSuccessContext

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

OperationOptions

Параметры для настройки трассировки и abortSignal.

PartitionContext

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

PartitionOwnership

Интерфейс, представляющий сведения о том, какой экземпляр объекта EventProcessor владеет обработкой данной секции из группы потребителей экземпляра концентратора событий.

Примечание. Он используется внутри EventProcessor , и пользователю никогда не нужно создавать его напрямую.

PartitionProperties

Описывает сведения о времени выполнения раздела Концентратора событий.

ReceivedEventData

Интерфейс, описывающий структуру события, полученного из концентратора событий. Используйте его в качестве ссылки при создании processEvents функции для обработки событий, полученных от концентратора событий при использовании EventHubConsumerClient.

RetryOptions

Параметры политики повтора, определяющие режим, количество повторных попыток, интервал повторных попыток и т. д.

SendBatchOptions

Параметры для настройки sendBatch метода в при отправке EventHubProducerClient массива событий. Если partitionId задано значение , partitionKey не должно быть задано и наоборот.

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

Параметры для настройки subscribe метода в EventHubConsumerClient. Например { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }.

Subscription

Интерфейс, описывающий объект, возвращаемый методом subscribe() в EventHubConsumerClient.

SubscriptionEventHandlers

Интерфейс, описывающий функции, которые должны быть реализованы пользователем, которые вызываются EventHubConsumerClient при вызове subscribe() метода для получения событий из концентратора событий.

TokenCredential

Представляет учетные данные, способные предоставить маркер проверки подлинности.

TryAddOptions

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

WebSocketImpl

Описывает необходимую форму конструкторов WebSocket.

WebSocketOptions

Параметры для настройки канала подключения AMQP через веб-сокеты.

Псевдонимы типа

ProcessCloseHandler

Сигнатура предоставленной пользователем функции вызывается EventHubConsumerClient сразу после остановки для получения событий из секции.

ProcessErrorHandler

Сигнатура предоставленной пользователем функции вызывается для ошибок, возникающих при получении событий или при выполнении любой из предоставленных пользователем EventHubConsumerClient функций, переданных методу subscribe() .

ProcessEventsHandler

Сигнатура предоставленной пользователем функции, вызываемой при EventHubConsumerClient получении набора событий.

ProcessInitializeHandler

Сигнатура предоставленной пользователем функции, вызываемой EventHubConsumerClient непосредственно перед началом получения событий из секции.

Перечисления

CloseReason

Перечисление, представляющее различные причины EventHubConsumerClient прекращения обработки событий из секции в группе потребителей концентратора событий.

RetryMode

Описывает тип режима повторных попыток.

Функции

createEventDataAdapter(EventDataAdapterParameters)

Функция, которая создает адаптер данных события. Этот адаптер можно использовать с @azure/schema-registry-avro для кодирования и декодирования текста в данных события.

parseEventHubConnectionString(string)

Анализирует заданные строка подключения различные свойства, применимые к Центры событий Azure. Эти свойства полезны для создания EventHubProducerClient или EventHubConsumerClient.

Сведения о функции

createEventDataAdapter(EventDataAdapterParameters)

Функция, которая создает адаптер данных события. Этот адаптер можно использовать с @azure/schema-registry-avro для кодирования и декодирования текста в данных события.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Параметры

params
EventDataAdapterParameters

параметры для создания данных события

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

MessageAdapter<EventData>

Адаптер данных события, который может создавать и использовать данные событий

parseEventHubConnectionString(string)

Анализирует заданные строка подключения различные свойства, применимые к Центры событий Azure. Эти свойства полезны для создания EventHubProducerClient или EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Параметры

connectionString

string

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

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