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


@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: Span или SpanContext, используемые в качестве parent диапазона, созданного при вызове этой операции.
GetPartitionIdsOptions

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

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

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

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

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

LoadBalancingOptions

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

OnSendEventsErrorContext

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

OnSendEventsSuccessContext

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

OperationOptions

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

PartitionContext

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

PartitionOwnership

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

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

PartitionProperties

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

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

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

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

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

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