ServiceBusSender interface
Отправитель может использоваться для отправки сообщений, планирования отправки сообщений в дальнейшем и отмены таких запланированных сообщений.
Используйте функцию createSender
в ServiceBusClient, чтобы создать экземпляр отправителя.
Класс Sender — это абстракция по базовой ссылке отправителя AMQP.
Свойства
entity |
Путь к сущности, для которой был создан отправитель. |
identifier | Имя, используемое для идентификации отправителя. Это можно использовать для сопоставления журналов и исключений. Если он не указан или не указан, будет создан случайный уникальный. |
is |
Возвращает |
Методы
cancel |
Отменяет несколько сообщений, которые были запланированы на очередь или подписку ServiceBus. |
close() | Закрывает базовую ссылку отправителя AMQP.
После закрытия отправитель не может использоваться для дальнейших операций.
Использование функции |
create |
Создает экземпляр |
schedule |
Планирует отображаться в очереди или подписке служебной шины позже. |
send |
Отправляет указанные сообщения после создания ссылки отправителя AMQP, если она еще не существует.
Примечание : Если вы хотите отправлять сообщения размером более 1 МБ, отправьте отдельные сообщения вместо отправки пакетного сообщения или массива сообщений, как показано ниже.
Это связано с тем, что пакетные сообщения еще не способны отправлять более крупные сообщения. В этом случае вы получите ошибку |
Сведения о свойстве
entityPath
Путь к сущности, для которой был создан отправитель.
entityPath: string
Значение свойства
string
identifier
Имя, используемое для идентификации отправителя. Это можно использовать для сопоставления журналов и исключений. Если он не указан или не указан, будет создан случайный уникальный.
identifier: string
Значение свойства
string
isClosed
Возвращает true
, если отправитель или клиент, создавший его, был закрыт.
isClosed: boolean
Значение свойства
boolean
Сведения о методе
cancelScheduledMessages(Long | Long[], OperationOptionsBase)
Отменяет несколько сообщений, которые были запланированы на очередь или подписку ServiceBus.
function cancelScheduledMessages(sequenceNumbers: Long | Long[], options?: OperationOptionsBase): Promise<void>
Параметры
- sequenceNumbers
-
Long | Long[]
Порядковый номер или массив порядковых номеров сообщений, которые необходимо отменить.
- options
- OperationOptionsBase
Контейнер параметров для передачи сигнала прерывания или параметров трассировки.
Возвращаемое значение
Promise<void>
close()
Закрывает базовую ссылку отправителя AMQP.
После закрытия отправитель не может использоваться для дальнейших операций.
Использование функции createSender
в QueueClient или TopicClient для создания экземпляра нового отправителя
function close(): Promise<void>
Возвращаемое значение
Promise<void>
createMessageBatch(CreateMessageBatchOptions)
Создает экземпляр ServiceBusMessageBatch
, в который можно добавлять сообщения до достижения максимального поддерживаемого размера.
Пакет можно передать в метод <xref:send> для отправки сообщений в служебную шину Azure.
function createMessageBatch(options?: CreateMessageBatchOptions): Promise<ServiceBusMessageBatch>
Параметры
- options
- CreateMessageBatchOptions
Настраивает поведение пакета.
-
maxSizeInBytes
: верхний предел размера пакета. ФункцияtryAdd
возвращаетfalse
после достижения этого ограничения.
Возвращаемое значение
Promise<ServiceBusMessageBatch>
scheduleMessages(ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], Date, OperationOptionsBase)
Планирует отображаться в очереди или подписке служебной шины позже.
function scheduleMessages(messages: ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], scheduledEnqueueTimeUtc: Date, options?: OperationOptionsBase): Promise<Long[]>
Параметры
- messages
-
ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[]
Сообщение или массив сообщений, которые должны быть запланированы.
- scheduledEnqueueTimeUtc
-
Date
Время в формате UTC, в которое должны быть вложены сообщения.
- options
- OperationOptionsBase
Контейнер параметров для передачи сигнала прерывания или параметров трассировки.
Возвращаемое значение
Promise<Long[]>
Порядковые номера сообщений, запланированных.
Если планируется отменить планирование сообщений, потребуется номер последовательности.
Сохраните тип Long
as-is в приложении без преобразования в число. Так как JavaScript поддерживает только 53-разрядные числа, преобразование Long
в число приведет к потере точности.
sendMessages(ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], OperationOptionsBase)
Отправляет указанные сообщения после создания ссылки отправителя AMQP, если она еще не существует.
- Чтобы отправить сообщения в
session
и/илиpartition
включенных очередей или раздел, задайте свойстваsessionId
и/илиpartitionKey
соответственно в сообщениях. - Все сообщения, передаваемые в один вызов sendMessages() должны иметь одинаковые
sessionId
(при использовании сеансов) и одинаковыеpartitionKey
(при использовании секций).
Примечание :
Если вы хотите отправлять сообщения размером более 1 МБ, отправьте отдельные сообщения вместо отправки пакетного сообщения или массива сообщений, как показано ниже.
await sender.sendMessages(message);
Это связано с тем, что пакетные сообщения еще не способны отправлять более крупные сообщения. В этом случае вы получите ошибку force detached
. Чтение service-bus-premium-messaging#large-messages-support. Дополнительные сведения о #23014.
function sendMessages(messages: ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], options?: OperationOptionsBase): Promise<void>
Параметры
- messages
-
ServiceBusMessage | ServiceBusMessageBatch | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[]
Одно сообщение или массив сообщений или пакет сообщений, созданных с помощью метода createBatch() для отправки.
- options
- OperationOptionsBase
Контейнер параметров для передачи сигнала прерывания или параметров трассировки.
Возвращаемое значение
Promise<void>