ServiceBusSender interface
发送者可用于发送邮件、计划稍后发送的消息并取消此类计划邮件。
使用 ServiceBusClient 上的 createSender
函数实例化发送方。
Sender 类是基础 AMQP 发送方链接的抽象。
属性
entity |
为其创建发件人的实体的路径。 |
identifier | 用于标识发件人的名称。 这可用于关联日志和异常。 如果未指定或为空,将生成随机唯一值。 |
is |
如果创建发件人或客户端已关闭,则返回 |
方法
cancel |
取消计划显示在 ServiceBus 队列/订阅上的多个消息。 |
close() | 关闭基础 AMQP 发送方链接。
关闭后,发送方不能用于任何进一步的作。
使用 QueueClient 或 TopicClient 上的 |
create |
创建一个 |
schedule |
计划给定的消息将在稍后显示在服务总线队列/订阅上。 |
send |
创建 AMQP 发送方链接后发送给定的消息(如果尚不存在)。
注意: 如果要发送大于 1MB 的消息,请发送单个消息,而不是发送批处理消息或消息数组,如下所示。
这是因为批处理的消息尚无法发送较大的消息。 否则,将遇到 |
属性详细信息
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>
参数
返回
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
(如果使用分区)。
注意:
如果要发送大于 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>