你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ServiceBusSender interface

发送者可用于发送邮件、计划稍后发送的消息并取消此类计划邮件。 使用 ServiceBusClient 上的 createSender 函数实例化发送方。 Sender 类是基础 AMQP 发送方链接的抽象。

属性

entityPath

为其创建发件人的实体的路径。

identifier

用于标识发件人的名称。 这可用于关联日志和异常。 如果未指定或为空,将生成随机唯一值。

isClosed

如果创建发件人或客户端已关闭,则返回 true

方法

cancelScheduledMessages(Long | Long[], OperationOptionsBase)

取消计划显示在 ServiceBus 队列/订阅上的多个消息。

close()

关闭基础 AMQP 发送方链接。 关闭后,发送方不能用于任何进一步的作。 使用 QueueClient 或 TopicClient 上的 createSender 函数实例化新的发件人

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(如果使用分区)。

注意:

如果要发送大于 1MB 的消息,请发送单个消息,而不是发送批处理消息或消息数组,如下所示。

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 发送方链接。 关闭后,发送方不能用于任何进一步的作。 使用 QueueClient 或 TopicClient 上的 createSender 函数实例化新的发件人

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(如果使用分区)。

注意:

如果要发送大于 1MB 的消息,请发送单个消息,而不是发送批处理消息或消息数组,如下所示。

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>