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
訊息的識別碼。
- popReceipt
-
string
從先前呼叫接收訊息或更新訊息作業傳回的有效快顯收據值。
- options
- QueueDeleteMessageOptions
刪除訊息作業的選項。
傳回
Promise<MessageIdDeleteResponse>
刪除訊息作業的回應資料。
exists(QueueExistsOptions)
如果指定的佇列存在,則傳回 true;否則為 false。
注意:請小心使用此函式,因為其他用戶端或應用程式可能會刪除現有的佇列。 反之亦然,此函式完成後,其他用戶端或應用程式可能會新增新的佇列。
function exists(options?: QueueExistsOptions): Promise<boolean>
參數
- options
- QueueExistsOptions
存在作業的選項。
傳回
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
由此用戶端所代表資源的 URI 所組成的 SAS URI,後面接著產生的 SAS 權杖。
getAccessPolicy(QueueGetAccessPolicyOptions)
取得可用於共用存取簽章之佇列上指定之任何預存存取原則的詳細資料。
警告:剖析開始和到期字串時,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
回應中傳回的物件會以小寫顯示其索引鍵,即使原本包含大寫字元也一樣。 這與QueueServiceClientincludeMetadata
方法傳 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 會將新的訊息新增至佇列的後端。 可見度逾時會指定 Dequeue 和 Peek 作業應該看不到訊息的時間長度。 訊息內容的大小上限為 64 KB,且格式必須包含在具有 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)
更新會變更訊息的可見度逾時和內容。 訊息內容的大小上限為 64 KB,且格式必須包含在具有 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
訊息的識別碼
- popReceipt
-
string
從先前呼叫接收訊息或更新訊息作業傳回的有效快顯收據值。
- message
-
string
要更新的訊息。 如果未定義此參數,則不會更新訊息的內容。
- visibilityTimeout
-
number
指定相對於伺服器時間的新可見度逾時值 (以秒為單位)。 此新值必須大於或等於 0,而且不得超過 7 天。 訊息的可見度逾時不可以設為晚於到期時間的值。 在刪除訊息或訊息過期之前,都可更新訊息。
- options
- QueueUpdateMessageOptions
更新訊息作業的選項。
傳回
Promise<MessageIdUpdateResponse>
更新訊息作業的回應資料。