共用方式為


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

create(QueueCreateOptions)

在指定的帳戶下建立新的佇列。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

createIfNotExists(QueueCreateOptions)

如果指定的帳戶不存在,請建立新的佇列。 如果佇列已經存在,則不會變更。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

delete(QueueDeleteOptions)

永久刪除指定的佇列。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/delete-queue3

deleteIfExists(QueueDeleteOptions)

如果指定佇列存在,就會永久刪除。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/delete-queue3

deleteMessage(string, string, QueueDeleteMessageOptions)

deleteMessage 會從其佇列中永久移除指定的訊息。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/delete-message2

exists(QueueExistsOptions)

如果指定的佇列存在,則傳回 true;否則為 false。

注意:請小心使用此函式,因為其他用戶端或應用程式可能會刪除現有的佇列。 反之亦然,此函式完成之後,其他用戶端或應用程式可能會新增新的佇列。

generateSasStringToSign(QueueGenerateSasUrlOptions)

僅適用於使用共用密鑰認證建構的 QueueClient。

根據傳入的用戶端屬性和參數,產生字串以簽署服務共用存取簽章 (SAS) URI。 SAS 是由客戶端的共用金鑰認證所簽署。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas

generateSasUrl(QueueGenerateSasUrlOptions)

僅適用於使用共用密鑰認證建構的 QueueClient。

根據傳入的用戶端屬性和參數,產生服務共用存取簽章 (SAS) URI。 SAS 是由客戶端的共用金鑰認證所簽署。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-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

getProperties(QueueGetPropertiesOptions)

取得指定佇列的所有使用者定義元數據和系統屬性。 元數據會與佇列建立關聯,做為名稱/值組。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/get-queue-metadata

警告:回應中傳回的 metadata 物件會以小寫表示,即使它們原本包含大寫字元也一樣。 這與使用 listQueues 選項 QueueServiceClientincludeMetadata 方法所傳回的元數據索引鍵不同,此選項會保留其原始大小寫。

peekMessages(QueuePeekMessagesOptions)

peekMessages 會從佇列前端擷取一或多個訊息,但不會改變訊息的可見性。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/peek-messages

receiveMessages(QueueReceiveMessageOptions)

receiveMessages 會從佇列前端擷取一或多個訊息。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/get-messages

sendMessage(string, QueueSendMessageOptions)

sendMessage 會將新訊息新增至佇列背面。 可見度逾時會指定 Dequeue 和 Peek 作業應該看不到訊息的時間長度。 訊息內容的大小上限為 64KB,且格式必須包含於具有 UTF-8 編碼的 XML 要求中。 若要在訊息中包含標記,訊息的內容必須是 XML 逸出或 Base64 編碼。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/put-message

setAccessPolicy(SignedIdentifier[], QueueSetAccessPolicyOptions)

設定可用於共用存取簽章之佇列的預存存取原則。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/set-queue-acl

setMetadata(Metadata, QueueSetMetadataOptions)

設定指定佇列的一或多個使用者定義名稱/值組。

如果未提供任何選項,或選項參數中未定義任何元數據,則會移除佇列元數據。

請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/set-queue-metadata

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

更新會變更訊息的可見性逾時和內容。 訊息內容的大小上限為 64KB,且格式必須包含於具有 UTF-8 編碼的 XML 要求中。 若要在訊息中包含標記,訊息的內容必須是 XML 逸出或 Base64 編碼。

請參閱 https://learn.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://learn.microsoft.com/en-us/rest/api/storageservices/clear-messages

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

參數

options
QueueClearMessagesOptions

清除訊息作業的選項。

傳回

清除訊息作業的回應數據。

create(QueueCreateOptions)

在指定的帳戶下建立新的佇列。

請參閱 https://learn.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://learn.microsoft.com/en-us/rest/api/storageservices/create-queue4

function createIfNotExists(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

佇列刪除作業的選項。

傳回

佇列刪除作業的回應數據。

範例用法:

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>

參數

傳回

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

刪除訊息作業的選項。

傳回

刪除訊息作業的回應數據。

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

佇列取得存取原則作業的選項。

傳回

佇列取得存取原則作業的響應數據。

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

佇列取得屬性作業的選項。

傳回

佇列取得屬性作業的響應數據。

peekMessages(QueuePeekMessagesOptions)

peekMessages 會從佇列前端擷取一或多個訊息,但不會改變訊息的可見性。

請參閱 https://learn.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://learn.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 會將新訊息新增至佇列背面。 可見度逾時會指定 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

傳送訊息作業的選項。

傳回

傳送訊息作業的回應數據。

範例用法:

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

SignedIdentifier[]

options
QueueSetAccessPolicyOptions

佇列設定存取原則作業的選項。

傳回

佇列集存取原則作業的響應數據。

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

佇列設定元數據作業的選項。

傳回

佇列集元數據作業的響應數據。

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

更新訊息作業的選項。

傳回

更新訊息作業的回應數據。