你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
QueueClient class
QueueClient 表示 Azure 存储队列消息的 URL,允许你操作其消息。
- 扩展
-
StorageClient
构造函数
Queue |
创建 QueueClient 的实例。 |
Queue |
创建 QueueClient 的实例。 |
Queue |
创建 QueueClient 的实例。 |
属性
name | 队列的名称。 |
继承属性
account |
|
url | URL 字符串值。 |
方法
构造函数详细信息
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
清除消息操作的选项。
返回
Promise<MessagesClearResponse>
清除消息操作的响应数据。
create(QueueCreateOptions)
在指定的帐户下创建新队列。
请参见https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4
function create(options?: QueueCreateOptions): Promise<QueueCreateResponse>
参数
- options
- QueueCreateOptions
队列创建操作的选项。
返回
Promise<QueueCreateResponse>
队列创建操作的响应数据。
示例用法:
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>
参数
- 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
队列删除操作的选项。
返回
Promise<QueueDeleteResponse>
队列删除操作的响应数据。
示例用法:
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>
参数
- 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
用于删除消息操作的选项。
返回
Promise<MessageIdDeleteResponse>
删除消息操作的响应数据。
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
队列获取访问策略操作的选项。
返回
Promise<QueueGetAccessPolicyResponse>
队列的响应数据获取访问策略操作。
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
队列获取属性操作的选项。
返回
Promise<QueueGetPropertiesResponse>
队列获取属性操作的响应数据。
peekMessages(QueuePeekMessagesOptions)
peekMessages 从队列前面检索一个或多个消息,但不改变消息的可见性。
请参见https://learn.microsoft.com/en-us/rest/api/storageservices/peek-messages
function peekMessages(options?: QueuePeekMessagesOptions): Promise<QueuePeekMessagesResponse>
参数
- options
- QueuePeekMessagesOptions
用于查看消息操作的选项。
返回
Promise<QueuePeekMessagesResponse>
速览消息操作的响应数据。
示例用法:
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
用于接收消息操作的选项。
返回
Promise<QueueReceiveMessageResponse>
接收消息操作的响应数据。
示例用法:
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
用于发送消息操作的选项。
返回
Promise<QueueSendMessageResponse>
发送消息操作的响应数据。
示例用法:
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
- options
- QueueSetAccessPolicyOptions
队列设置访问策略操作的选项。
返回
Promise<QueueSetAccessPolicyResponse>
队列集访问策略操作的响应数据。
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
队列设置元数据操作的选项。
返回
Promise<QueueSetMetadataResponse>
队列集元数据操作的响应数据。
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
用于更新消息操作的选项。
返回
Promise<MessageIdUpdateResponse>
更新消息操作的响应数据。