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://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
訊息的標識碼。
- 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 日期可能會遺失有效位數。 例如,新的 Date(“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
訊息的標識碼
- popReceipt
-
string
從先前呼叫接收訊息或更新訊息作業傳回的有效快顯收據值。
- message
-
string
要更新的訊息。 如果未定義此參數,則不會更新訊息的內容。
- visibilityTimeout
-
number
指定相對於伺服器時間的新可見度逾時值,以秒為單位。 新值必須大於或等於0,且不能大於7天。 訊息的可見性逾時不能設定為晚於到期時間的值。 訊息可以更新,直到它已刪除或已過期為止。
- options
- QueueUpdateMessageOptions
更新訊息作業的選項。
傳回
Promise<MessageIdUpdateResponse>
更新訊息作業的回應數據。