EventHubProducerClient class
Класс EventHubProducerClient
используется для отправки событий в Концентратор событий.
Существует несколько способов создания EventHubProducerClient
- Используйте строку подключения из политики SAS, созданной для экземпляра Концентратора событий.
- Используйте строку подключения из политики SAS, созданной для пространства имен Концентратора событий, и имя экземпляра Концентратора событий
- Используйте полное пространство имен, например
<yournamespace>.servicebus.windows.net
, и объект учетных данных.
Кроме того, можно передать пакет параметров для настройки политики повторных попыток или параметров прокси-сервера.
Конструкторы
Event |
Класс |
Event |
Класс |
Event |
Класс |
Свойства
event |
Имя экземпляра Концентратора событий, для которого создается этот клиент. |
fully |
Полное пространство имен экземпляра Концентратора событий, для которого создается этот клиент. Скорее всего, это похоже на .servicebus.windows.net. |
identifier | Имя, используемое для идентификации этого объекта EventHubProducerClient. Если он не указан или не указан, будет создан случайный уникальный. |
Методы
close() | Закрывает подключение AMQP к экземпляру Концентратора событий, возвращая обещание, которое будет разрешено при завершении отключения. |
create |
Создает экземпляр События с различными значениями для partitionKey или partitionId должны быть помещены в разные пакеты.
Чтобы упростить такое пакетное управление между секциями или автоматически отправлять события пакетной службы клиента и отправлять их в определенные интервалы, используйте вместо этого В приведенном ниже примере предполагается, что у вас есть массив событий, которые необходимо безопасно выполнить пакетную обработку.
Если у вас есть события, поступающие по одному, Пример использования:
|
get |
Предоставляет сведения о среде выполнения Концентратора событий. |
get |
Предоставляет идентификатор для каждой секции, связанной с Концентратором событий. |
get |
Предоставляет сведения о состоянии указанной секции. |
send |
Отправляет пакет событий, созданных с помощью События с различными значениями для partitionKey или partitionId должны быть помещены в разные пакеты.
Чтобы упростить такое пакетное управление между секциями или автоматически отправлять события пакетной службы клиента и отправлять их в определенные интервалы, используйте вместо этого В приведенном ниже примере предполагается, что у вас есть массив событий, которые необходимо безопасно выполнить пакетную обработку.
Если у вас есть события, поступающие по одному, Пример использования:
|
send |
Отправляет массив событий в виде пакета в связанный концентратор событий. Центры событий Azure имеют ограничение на размер пакета, который может быть отправлен, который при превышении приведет к ошибке с кодом Пример использования:
|
Сведения о конструкторе
EventHubProducerClient(string, EventHubClientOptions)
Класс EventHubProducerClient
используется для отправки событий в Концентратор событий.
Используйте options
parmeter для настройки политики повторных попыток или параметров прокси-сервера.
new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)
Параметры
- connectionString
-
string
Строка подключения, используемая для подключения к экземпляру Концентратора событий. Ожидается, что свойства общего ключа и путь концентратора событий содержатся в этой строке подключения. Например, "Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.
- options
- EventHubClientOptions
Набор параметров, применяемых при настройке клиента.
-
retryOptions
. Настраивает политику повторных попыток для всех операций на клиенте. Например,{ "maxRetries": 4 }
или{ "maxRetries": 4, "retryDelayInMs": 30000 }
. -
webSocketOptions
. Настраивает каналирование подключения AMQP через веб-сокеты. -
userAgent
: строка, добавляемая к встроенной строке агента пользователя, передаваемой в службу.
EventHubProducerClient(string, string, EventHubClientOptions)
Класс EventHubProducerClient
используется для отправки событий в Концентратор событий.
Используйте options
parmeter для настройки политики повторных попыток или параметров прокси-сервера.
new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)
Параметры
- connectionString
-
string
Строка подключения, используемая для подключения к пространству имен Центров событий. Ожидается, что свойства общего ключа содержатся в этой строке подключения, но не в пути концентратора событий, например Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.
- eventHubName
-
string
Имя конкретного концентратора событий для подключения клиента к нему.
- options
- EventHubClientOptions
Набор параметров, применяемых при настройке клиента.
-
retryOptions
. Настраивает политику повторных попыток для всех операций на клиенте. Например,{ "maxRetries": 4 }
или{ "maxRetries": 4, "retryDelayInMs": 30000 }
. -
webSocketOptions
. Настраивает каналирование подключения AMQP через веб-сокеты. -
userAgent
: строка, добавляемая к встроенной строке агента пользователя, передаваемой в службу.
EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)
Класс EventHubProducerClient
используется для отправки событий в Концентратор событий.
Используйте options
parmeter для настройки политики повторных попыток или параметров прокси-сервера.
new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)
Параметры
- fullyQualifiedNamespace
-
string
Полное пространство имен, которое, скорее всего, будет похоже на .servicebus.windows.net
- eventHubName
-
string
Имя конкретного концентратора событий для подключения клиента к нему.
- credential
Объект учетных данных, используемый клиентом для получения маркера для проверки подлинности подключения к службе Центров событий Azure.
Сведения о создании учетных данных, поддерживающих проверку подлинности AAD, см. в разделе @azure/identity. Используйте AzureNamedKeyCredential
из @azure/core-auth, если вы хотите передать SharedAccessKeyName
и SharedAccessKey
без использования строки подключения. Эти поля сопоставляют с полем name
и key
соответственно в AzureNamedKeyCredential
.
Используйте AzureSASCredential
из @azure/core-auth, если вы хотите передать SharedAccessSignature
без использования строки подключения. Это поле сопоставляется с signature
в AzureSASCredential
.
- options
- EventHubClientOptions
Набор параметров, применяемых при настройке клиента.
-
retryOptions
. Настраивает политику повторных попыток для всех операций на клиенте. Например,{ "maxRetries": 4 }
или{ "maxRetries": 4, "retryDelayInMs": 30000 }
. -
webSocketOptions
. Настраивает каналирование подключения AMQP через веб-сокеты. -
userAgent
: строка, добавляемая к встроенной строке агента пользователя, передаваемой в службу.
Сведения о свойстве
eventHubName
Имя экземпляра Концентратора событий, для которого создается этот клиент.
string eventHubName
Значение свойства
string
fullyQualifiedNamespace
Полное пространство имен экземпляра Концентратора событий, для которого создается этот клиент. Скорее всего, это похоже на .servicebus.windows.net.
string fullyQualifiedNamespace
Значение свойства
string
identifier
Имя, используемое для идентификации этого объекта EventHubProducerClient. Если он не указан или не указан, будет создан случайный уникальный.
identifier: string
Значение свойства
string
Сведения о методе
close()
Закрывает подключение AMQP к экземпляру Концентратора событий, возвращая обещание, которое будет разрешено при завершении отключения.
function close(): Promise<void>
Возвращаемое значение
Promise<void>
Обещать
createBatch(CreateBatchOptions)
Создает экземпляр EventDataBatch
, в который можно добавлять события до достижения максимального поддерживаемого размера.
Пакет можно передать в метод sendBatch sendBatch для отправки EventHubProducerClient
в Центры событий Azure.
События с различными значениями для partitionKey или partitionId должны быть помещены в разные пакеты.
Чтобы упростить такое пакетное управление между секциями или автоматически отправлять события пакетной службы клиента и отправлять их в определенные интервалы, используйте вместо этого EventHubBufferedProducerClient
.
В приведенном ниже примере предполагается, что у вас есть массив событий, которые необходимо безопасно выполнить пакетную обработку.
Если у вас есть события, поступающие по одному, EventHubBufferedProducerClient
рекомендуется вместо эффективного управления пакетами.
Пример использования:
import { EventHubProducerClient } from "@azure/event-hubs";
const client = new EventHubProducerClient("my-connection-string", "my-event-hub");
const messages = [
{ body: "my-event-body1" },
{ body: "my-event-body2" },
{ body: "my-event-body3" },
{ body: "my-event-body4" },
{ body: "my-event-body5" },
];
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit");
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>
Параметры
- options
- CreateBatchOptions
Настраивает поведение пакета.
-
partitionKey
. Значение, которое хэшируется и используется службой Центров событий Azure для определения секции, в которую необходимо отправить события. -
partitionId
: идентификатор секции, в которую необходимо отправить пакет событий. -
maxSizeInBytes
: верхний предел размера пакета. ФункцияtryAdd
возвращаетfalse
после достижения этого ограничения. -
abortSignal
: сигнал запроса на отмену операции.
Возвращаемое значение
Promise<EventDataBatch>
Обещать
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>
Обещание, разрешающее сведения о состоянии секции.
sendBatch(EventDataBatch, OperationOptions)
Отправляет пакет событий, созданных с помощью EventHubProducerClient.createBatch()
, в связанный концентратор событий.
События с различными значениями для partitionKey или partitionId должны быть помещены в разные пакеты.
Чтобы упростить такое пакетное управление между секциями или автоматически отправлять события пакетной службы клиента и отправлять их в определенные интервалы, используйте вместо этого EventHubBufferedProducerClient
.
В приведенном ниже примере предполагается, что у вас есть массив событий, которые необходимо безопасно выполнить пакетную обработку.
Если у вас есть события, поступающие по одному, EventHubBufferedProducerClient
рекомендуется вместо эффективного управления пакетами.
Пример использования:
import { EventHubProducerClient } from "@azure/event-hubs";
const client = new EventHubProducerClient("my-connection-string", "my-event-hub");
const messages = [
{ body: "my-event-body1" },
{ body: "my-event-body2" },
{ body: "my-event-body3" },
{ body: "my-event-body4" },
{ body: "my-event-body5" },
];
let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
if (!batch.tryAdd(messages[i])) {
await client.sendBatch(batch);
batch = await client.createBatch();
if (!batch.tryAdd(messages[i])) {
throw new Error("Message too big to fit");
}
if (i === messages.length - 1) {
await client.sendBatch(batch);
}
}
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>
Параметры
- batch
- EventDataBatch
Пакет событий, которые можно создать с помощью метода createBatch.
- options
- OperationOptions
Набор параметров, которые можно указать, чтобы повлиять на способ отправки событий в связанный концентратор событий.
-
abortSignal
: сигнал запроса на отмену операции отправки.
Возвращаемое значение
Promise<void>
Обещать
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)
Отправляет массив событий в виде пакета в связанный концентратор событий.
Центры событий Azure имеют ограничение на размер пакета, который может быть отправлен, который при превышении приведет к ошибке с кодом MessageTooLargeError
.
Чтобы безопасно отправлять в пределах размера пакета, используйте вместо этого EventHubProducerClient.createBatch()
или EventHubBufferedProducerClient
.
Пример использования:
import { EventHubProducerClient } from "@azure/event-hubs";
const client = new EventHubProducerClient("my-connection-string", "my-event-hub");
const messages = [
{ body: "my-event-body1" },
{ body: "my-event-body2" },
{ body: "my-event-body3" },
{ body: "my-event-body4" },
{ body: "my-event-body5" },
];
await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>
Параметры
- batch
Массив EventData или AmqpAnnotatedMessage
.
- options
- SendBatchOptions
Набор параметров, которые можно указать, чтобы повлиять на способ отправки событий в связанный концентратор событий.
-
abortSignal
: сигнал запроса на отмену операции отправки. -
partitionId
: секция, в который будет отправлен этот пакет. Если задано,partitionKey
не удается задать. -
partitionKey
: хэширование значения для создания назначения секции. Если задано,partitionId
не удается задать.
Возвращаемое значение
Promise<void>
Обещать