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

QueueClient class

QueueClient 表示 Azure 存储队列消息的 URL,允许你操作其消息。

扩展

StorageClient

构造函数

QueueClient(string, Pipeline)

创建 QueueClient 的实例。

QueueClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

创建 QueueClient 的实例。

QueueClient(string, string, StoragePipelineOptions)

创建 QueueClient 的实例。

属性

name

队列的名称。

继承属性

accountName
url

URL 字符串值。

方法

clearMessages(QueueClearMessagesOptions)

清除从队列中删除所有消息。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/clear-messages

create(QueueCreateOptions)

在指定的帐户下创建新队列。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

createIfNotExists(QueueCreateOptions)

如果指定的帐户尚不存在,则创建一个新队列。 如果队列已存在,则不会更改。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

delete(QueueDeleteOptions)

永久删除指定的队列。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/delete-queue3

deleteIfExists(QueueDeleteOptions)

如果指定队列存在,则永久删除该队列。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/delete-queue3

deleteMessage(string, string, QueueDeleteMessageOptions)

deleteMessage 永久删除其队列中的指定消息。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/delete-message2

exists(QueueExistsOptions)

如果指定的队列存在,则返回 true;否则为 false。

注意:请谨慎使用此函数,因为现有队列可能被其他客户端或应用程序删除。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新队列。

generateSasStringToSign(QueueGenerateSasUrlOptions)

仅适用于使用共享密钥凭据构造的 QueueClient。

根据传入的客户端属性和参数,生成用于为服务共享访问签名 (SAS) URI 签名的字符串。 SAS 由客户端的共享密钥凭据签名。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

generateSasUrl(QueueGenerateSasUrlOptions)

仅适用于使用共享密钥凭据构造的 QueueClient。

基于传入的客户端属性和参数生成服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

getAccessPolicy(QueueGetAccessPolicyOptions)

获取有关可用于共享访问签名的队列上指定的任何存储访问策略的详细信息。

警告:分析起始字符串和过期字符串时,JavaScript 日期可能会丢失精度。 例如,新日期(“2018-12-31T03:44:23.8827891Z”)将获取“2018-12-31T03:44:23.882Z”。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/get-queue-acl

getProperties(QueueGetPropertiesOptions)

获取指定队列的所有用户定义的元数据和系统属性。 元数据与队列关联为名称值对。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/get-queue-metadata

警告:响应中返回的 metadata 对象将具有小写形式的键,即使它们最初包含大写字符也是如此。 这不同于使用 listQueues 选项 QueueServiceClientincludeMetadata 方法返回的元数据键,该方法将保留其原始大小写。

peekMessages(QueuePeekMessagesOptions)

peekMessages 从队列前面检索一个或多个消息,但不改变消息的可见性。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/peek-messages

receiveMessages(QueueReceiveMessageOptions)

receiveMessages 从队列前面检索一个或多个消息。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/get-messages

sendMessage(string, QueueSendMessageOptions)

sendMessage 将新消息添加到队列的后面。 可见性超时指定消息对 Dequeue 和 Peek 操作不可见的时间。 消息内容的大小最大为 64KB,并且必须采用可以包含在采用 UTF-8 编码的 XML 请求中的格式。 若要在消息中包含标记,消息的内容必须是 XML 转义或 Base64 编码。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/put-message

setAccessPolicy(SignedIdentifier[], QueueSetAccessPolicyOptions)

设置可用于共享访问签名的队列的存储访问策略。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/set-queue-acl

setMetadata(Metadata, QueueSetMetadataOptions)

为指定的队列设置一个或多个用户定义的名称值对。

如果未提供任何选项,或者未在选项参数中定义元数据,则会删除队列元数据。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/set-queue-metadata

updateMessage(string, string, string, number, QueueUpdateMessageOptions)

更新消息的可见性超时和内容更改。 消息内容的大小最大为 64KB,并且必须采用可以包含在采用 UTF-8 编码的 XML 请求中的格式。 若要在消息中包含标记,消息的内容必须是 XML 转义或 Base64 编码。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/update-message

构造函数详细信息

QueueClient(string, Pipeline)

创建 QueueClient 的实例。

new QueueClient(url: string, pipeline: Pipeline)

参数

url

string

指向 Azure 存储队列的 URL 字符串,例如“https://myaccount.queue.core.windows.net/myqueue"。 如果使用 AnonymousCredential(如“https://myaccount.queue.core.windows.net/myqueue?sasString"),则可以追加 SAS。

pipeline
Pipeline

调用 newPipeline()以创建默认管道,或提供自定义管道。

QueueClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

创建 QueueClient 的实例。

new QueueClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

参数

url

string

指向 Azure 存储队列的 URL 字符串,例如“https://myaccount.queue.core.windows.net/myqueue"。 如果使用 AnonymousCredential(如“https://myaccount.queue.core.windows.net/myqueue?sasString"),则可以追加 SAS。

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

例如 AnonymousCredential、StorageSharedKeyCredential 或任何来自 @azure/identity 包的凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。

options
StoragePipelineOptions

用于配置 HTTP 管道的选项。

QueueClient(string, string, StoragePipelineOptions)

创建 QueueClient 的实例。

new QueueClient(connectionString: string, queueName: string, options?: StoragePipelineOptions)

参数

connectionString

string

帐户连接字符串或 Azure 存储帐户的 SAS 连接字符串。 [ 注意 - 帐户连接字符串只能在NODE.JS运行时使用。 ] 帐户连接字符串示例 - DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net SAS 连接字符串示例 - BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString

queueName

string

队列名称。

options
StoragePipelineOptions

用于配置 HTTP 管道的选项。

属性详细信息

name

队列的名称。

string name

属性值

string

继承属性详细信息

accountName

accountName: string

属性值

string

继承自 StorageClient.accountName

url

URL 字符串值。

url: string

属性值

string

继承自 StorageClient.url

方法详细信息

clearMessages(QueueClearMessagesOptions)

清除从队列中删除所有消息。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/clear-messages

function clearMessages(options?: QueueClearMessagesOptions): Promise<MessagesClearResponse>

参数

options
QueueClearMessagesOptions

清除消息操作的选项。

返回

清除消息操作的响应数据。

create(QueueCreateOptions)

在指定的帐户下创建新队列。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

function create(options?: QueueCreateOptions): Promise<QueueCreateResponse>

参数

options
QueueCreateOptions

队列创建操作的选项。

返回

队列创建操作的响应数据。

示例用法:

const queueClient = queueServiceClient.getQueueClient("<new queue name>");
const createQueueResponse = await queueClient.create();

createIfNotExists(QueueCreateOptions)

如果指定的帐户尚不存在,则创建一个新队列。 如果队列已存在,则不会更改。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

function createIfNotExists(options?: QueueCreateOptions): Promise<QueueCreateIfNotExistsResponse>

参数

返回

delete(QueueDeleteOptions)

永久删除指定的队列。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/delete-queue3

function delete(options?: QueueDeleteOptions): Promise<QueueDeleteResponse>

参数

options
QueueDeleteOptions

队列删除操作的选项。

返回

队列删除操作的响应数据。

示例用法:

const deleteQueueResponse = await queueClient.delete();
console.log(
  "Delete queue successfully, service assigned request Id:", deleteQueueResponse.requestId
);

deleteIfExists(QueueDeleteOptions)

如果指定队列存在,则永久删除该队列。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/delete-queue3

function deleteIfExists(options?: QueueDeleteOptions): Promise<QueueDeleteIfExistsResponse>

参数

返回

deleteMessage(string, string, QueueDeleteMessageOptions)

deleteMessage 永久删除其队列中的指定消息。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/delete-message2

function deleteMessage(messageId: string, popReceipt: string, options?: QueueDeleteMessageOptions): Promise<MessageIdDeleteResponse>

参数

messageId

string

消息的 ID。

popReceipt

string

从先前调用接收消息或更新消息操作返回的有效弹出回执值。

options
QueueDeleteMessageOptions

用于删除消息操作的选项。

返回

删除消息操作的响应数据。

exists(QueueExistsOptions)

如果指定的队列存在,则返回 true;否则为 false。

注意:请谨慎使用此函数,因为现有队列可能被其他客户端或应用程序删除。 反之亦然,此函数完成后,其他客户端或应用程序可能会添加新队列。

function exists(options?: QueueExistsOptions): Promise<boolean>

参数

options
QueueExistsOptions

“存在”操作的选项。

返回

Promise<boolean>

generateSasStringToSign(QueueGenerateSasUrlOptions)

仅适用于使用共享密钥凭据构造的 QueueClient。

根据传入的客户端属性和参数,生成用于为服务共享访问签名 (SAS) URI 签名的字符串。 SAS 由客户端的共享密钥凭据签名。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateSasStringToSign(options: QueueGenerateSasUrlOptions): string

参数

options
QueueGenerateSasUrlOptions

可选参数。

返回

string

由此客户端表示的资源的 URI 组成的 SAS URI,后跟生成的 SAS 令牌。

generateSasUrl(QueueGenerateSasUrlOptions)

仅适用于使用共享密钥凭据构造的 QueueClient。

基于传入的客户端属性和参数生成服务共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

function generateSasUrl(options: QueueGenerateSasUrlOptions): string

参数

options
QueueGenerateSasUrlOptions

可选参数。

返回

string

由此客户端表示的资源的 URI 组成的 SAS URI,后跟生成的 SAS 令牌。

getAccessPolicy(QueueGetAccessPolicyOptions)

获取有关可用于共享访问签名的队列上指定的任何存储访问策略的详细信息。

警告:分析起始字符串和过期字符串时,JavaScript 日期可能会丢失精度。 例如,新日期(“2018-12-31T03:44:23.8827891Z”)将获取“2018-12-31T03:44:23.882Z”。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/get-queue-acl

function getAccessPolicy(options?: QueueGetAccessPolicyOptions): Promise<QueueGetAccessPolicyResponse>

参数

options
QueueGetAccessPolicyOptions

队列获取访问策略操作的选项。

返回

队列的响应数据获取访问策略操作。

getProperties(QueueGetPropertiesOptions)

获取指定队列的所有用户定义的元数据和系统属性。 元数据与队列关联为名称值对。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/get-queue-metadata

警告:响应中返回的 metadata 对象将具有小写形式的键,即使它们最初包含大写字符也是如此。 这不同于使用 listQueues 选项 QueueServiceClientincludeMetadata 方法返回的元数据键,该方法将保留其原始大小写。

function getProperties(options?: QueueGetPropertiesOptions): Promise<QueueGetPropertiesResponse>

参数

options
QueueGetPropertiesOptions

队列获取属性操作的选项。

返回

队列获取属性操作的响应数据。

peekMessages(QueuePeekMessagesOptions)

peekMessages 从队列前面检索一个或多个消息,但不改变消息的可见性。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/peek-messages

function peekMessages(options?: QueuePeekMessagesOptions): Promise<QueuePeekMessagesResponse>

参数

options
QueuePeekMessagesOptions

用于查看消息操作的选项。

返回

速览消息操作的响应数据。

示例用法:

const peekMessagesResponse = await queueClient.peekMessages();
console.log("The peeked message is:", peekMessagesResponse.peekedMessageItems[0].messageText);

receiveMessages(QueueReceiveMessageOptions)

receiveMessages 从队列前面检索一个或多个消息。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/get-messages

function receiveMessages(options?: QueueReceiveMessageOptions): Promise<QueueReceiveMessageResponse>

参数

options
QueueReceiveMessageOptions

用于接收消息操作的选项。

返回

接收消息操作的响应数据。

示例用法:

const response = await queueClient.receiveMessages();
if (response.receivedMessageItems.length == 1) {
  const receivedMessageItem = response.receivedMessageItems[0];
  console.log("Processing & deleting message with content:", receivedMessageItem.messageText);
  const deleteMessageResponse = await queueClient.deleteMessage(
    receivedMessageItem.messageId,
    receivedMessageItem.popReceipt
  );
  console.log(
    "Delete message successfully, service assigned request Id:",
    deleteMessageResponse.requestId
  );
}

sendMessage(string, QueueSendMessageOptions)

sendMessage 将新消息添加到队列的后面。 可见性超时指定消息对 Dequeue 和 Peek 操作不可见的时间。 消息内容的大小最大为 64KB,并且必须采用可以包含在采用 UTF-8 编码的 XML 请求中的格式。 若要在消息中包含标记,消息的内容必须是 XML 转义或 Base64 编码。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/put-message

function sendMessage(messageText: string, options?: QueueSendMessageOptions): Promise<QueueSendMessageResponse>

参数

messageText

string

要发送的消息的文本

options
QueueSendMessageOptions

用于发送消息操作的选项。

返回

发送消息操作的响应数据。

示例用法:

const sendMessageResponse = await queueClient.sendMessage("Hello World!");
console.log(
  "Sent message successfully, service assigned message Id:", sendMessageResponse.messageId,
  "service assigned request Id:", sendMessageResponse.requestId
);

setAccessPolicy(SignedIdentifier[], QueueSetAccessPolicyOptions)

设置可用于共享访问签名的队列的存储访问策略。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/set-queue-acl

function setAccessPolicy(queueAcl?: SignedIdentifier[], options?: QueueSetAccessPolicyOptions): Promise<QueueSetAccessPolicyResponse>

参数

queueAcl

SignedIdentifier[]

options
QueueSetAccessPolicyOptions

队列设置访问策略操作的选项。

返回

队列集访问策略操作的响应数据。

setMetadata(Metadata, QueueSetMetadataOptions)

为指定的队列设置一个或多个用户定义的名称值对。

如果未提供任何选项,或者未在选项参数中定义元数据,则会删除队列元数据。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/set-queue-metadata

function setMetadata(metadata?: Metadata, options?: QueueSetMetadataOptions): Promise<QueueSetMetadataResponse>

参数

metadata
Metadata

如果未提供任何元数据,将删除所有现有元数据。

options
QueueSetMetadataOptions

队列设置元数据操作的选项。

返回

队列集元数据操作的响应数据。

updateMessage(string, string, string, number, QueueUpdateMessageOptions)

更新消息的可见性超时和内容更改。 消息内容的大小最大为 64KB,并且必须采用可以包含在采用 UTF-8 编码的 XML 请求中的格式。 若要在消息中包含标记,消息的内容必须是 XML 转义或 Base64 编码。

请参见https://learn.microsoft.com/en-us/rest/api/storageservices/update-message

function updateMessage(messageId: string, popReceipt: string, message?: string, visibilityTimeout?: number, options?: QueueUpdateMessageOptions): Promise<MessageIdUpdateResponse>

参数

messageId

string

消息的 ID

popReceipt

string

从先前调用接收消息或更新消息操作返回的有效弹出回执值。

message

string

要更新的消息。 如果未定义此参数,则不会更新消息的内容。

visibilityTimeout

number

指定相对于服务器时间的新可见性超时值(以秒为单位)。 新值必须大于或等于 0,并且不能大于 7 天。 消息的可见性超时不能设置为晚于到期时间的值。 消息可以更新,直到它已被删除或已过期。

options
QueueUpdateMessageOptions

用于更新消息操作的选项。

返回

更新消息操作的响应数据。