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

QueueClient class

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

Extends

StorageClient

构造函数

QueueClient(string, Pipeline)

创建 QueueClient 的实例。

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

创建 QueueClient 的实例。

QueueClient(string, string, StoragePipelineOptions)

创建 QueueClient 的实例。

属性

name

队列的名称。

继承属性

accountName
url

URL 字符串值。

方法

clearMessages(QueueClearMessagesOptions)

清除 将删除队列中的所有消息。

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

create(QueueCreateOptions)

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

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

createIfNotExists(QueueCreateOptions)

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

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

delete(QueueDeleteOptions)

永久删除指定的队列。

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

deleteIfExists(QueueDeleteOptions)

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

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

deleteMessage(string, string, QueueDeleteMessageOptions)

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

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

exists(QueueExistsOptions)

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

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

generateSasUrl(QueueGenerateSasUrlOptions)

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

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

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

getAccessPolicy(QueueGetAccessPolicyOptions)

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

警告:分析 start 和 expiry 字符串时,JavaScript 日期可能会丢失精度。 例如,新的 Date (“2018-12-31T03:44:23.8827891Z”) .toISOString () 将获得“2018-12-31T03:44:23.882Z”。

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

getProperties(QueueGetPropertiesOptions)

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

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

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

peekMessages(QueuePeekMessagesOptions)

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

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

receiveMessages(QueueReceiveMessageOptions)

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

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

sendMessage(string, QueueSendMessageOptions)

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

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

setAccessPolicy(SignedIdentifier[], QueueSetAccessPolicyOptions)

为队列设置存储访问策略(可与共享访问签名一起使用)。

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

setMetadata(Metadata, QueueSetMetadataOptions)

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

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

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

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

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

请参见https://docs.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,则可以追加 SAS,例如“https://myaccount.queue.core.windows.net/myqueue?sasString"”。

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,则可以追加 SAS,例如“https://myaccount.queue.core.windows.net/myqueue?sasString"”。

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://docs.microsoft.com/en-us/rest/api/storageservices/clear-messages

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

参数

options
QueueClearMessagesOptions

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

返回

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

create(QueueCreateOptions)

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

请参见https://docs.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://docs.microsoft.com/en-us/rest/api/storageservices/create-queue4

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

参数

返回

delete(QueueDeleteOptions)

永久删除指定的队列。

请参见https://docs.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://docs.microsoft.com/en-us/rest/api/storageservices/delete-queue3

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

参数

返回

deleteMessage(string, string, QueueDeleteMessageOptions)

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

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

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

参数

messageId

string

消息的 ID。

popReceipt

string

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

options
QueueDeleteMessageOptions

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

返回

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

exists(QueueExistsOptions)

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

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

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

参数

options
QueueExistsOptions

options to Exists 操作。

返回

Promise<boolean>

generateSasUrl(QueueGenerateSasUrlOptions)

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

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

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

function generateSasUrl(options: QueueGenerateSasUrlOptions): string

参数

options
QueueGenerateSasUrlOptions

可选参数。

返回

string

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

getAccessPolicy(QueueGetAccessPolicyOptions)

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

警告:分析 start 和 expiry 字符串时,JavaScript 日期可能会丢失精度。 例如,新的 Date (“2018-12-31T03:44:23.8827891Z”) .toISOString () 将获得“2018-12-31T03:44:23.882Z”。

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

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

参数

options
QueueGetAccessPolicyOptions

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

返回

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

getProperties(QueueGetPropertiesOptions)

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

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

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

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

参数

options
QueueGetPropertiesOptions

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

返回

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

peekMessages(QueuePeekMessagesOptions)

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

请参见https://docs.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://docs.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 将新消息添加到队列的后面。 可见性超时指定消息对取消排队和 Peek 操作不可见的时间长度。 消息内容的大小最大为 64KB,并且必须采用可包含在采用 UTF-8 编码的 XML 请求中的格式。 若要在消息中包含标记,消息内容必须经过 XML 转义或进行 Base64 编码。

请参见https://docs.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://docs.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://docs.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://docs.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

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

返回

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