你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
QueueClient class
QueueClient 表示 Azure 存储队列的消息的 URL,允许你操作其消息。
- Extends
-
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,则可以追加 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
用于清除消息操作的选项。
返回
Promise<MessagesClearResponse>
清除消息操作的响应数据。
create(QueueCreateOptions)
在指定的帐户下创建新队列。
请参见https://docs.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://docs.microsoft.com/en-us/rest/api/storageservices/create-queue4
function createIfNotExists(options?: QueueCreateOptions): Promise<QueueCreateIfNotExistsResponse>
参数
- 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
用于队列删除操作的选项。
返回
Promise<QueueDeleteResponse>
队列删除操作的响应数据。
用法示例:
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>
参数
- 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
用于删除消息操作的选项。
返回
Promise<MessageIdDeleteResponse>
删除消息操作的响应数据。
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
队列获取访问策略操作的选项。
返回
Promise<QueueGetAccessPolicyResponse>
队列获取访问策略操作的响应数据。
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
“队列获取属性”操作的选项。
返回
Promise<QueueGetPropertiesResponse>
队列获取属性操作的响应数据。
peekMessages(QueuePeekMessagesOptions)
peekMessages 从队列前面检索一个或多个消息,但不会更改消息的可见性。
请参见https://docs.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://docs.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 将新消息添加到队列的后面。 可见性超时指定消息对取消排队和 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
用于发送消息操作的选项。
返回
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://docs.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://docs.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://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
用于更新消息操作的选项。
返回
Promise<MessageIdUpdateResponse>
更新消息操作的响应数据。