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


ServiceBusSender interface

Отправитель может использоваться для отправки сообщений, планирования отправки сообщений в дальнейшем и отмены таких запланированных сообщений. Используйте функцию createSender в ServiceBusClient, чтобы создать экземпляр отправителя. Класс Sender — это абстракция по базовой ссылке отправителя AMQP.

Свойства

entityPath

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

identifier

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

isClosed

Возвращает true, если отправитель или клиент, создавший его, был закрыт.

Методы

cancelScheduledMessages(Long | Long[], OperationOptionsBase)

Отменяет несколько сообщений, которые были запланированы на очередь или подписку ServiceBus.

close()

Закрывает базовую ссылку отправителя AMQP. После закрытия отправитель не может использоваться для дальнейших операций. Использование функции createSender в QueueClient или TopicClient для создания экземпляра нового отправителя

createMessageBatch(CreateMessageBatchOptions)

Создает экземпляр ServiceBusMessageBatch, в который можно добавлять сообщения до достижения максимального поддерживаемого размера. Пакет можно передать в метод <xref:send> для отправки сообщений в служебную шину Azure.

scheduleMessages(ServiceBusMessage | AmqpAnnotatedMessage | ServiceBusMessage[] | AmqpAnnotatedMessage[], Date, OperationOptionsBase)

Планирует отображаться в очереди или подписке служебной шины позже.

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.

Сведения о свойстве

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 после достижения этого ограничения.

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

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>