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

create(QueueCreateOptions)

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

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

createIfNotExists(QueueCreateOptions)

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

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

delete(QueueDeleteOptions)

永久刪除指定的佇列。

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

deleteIfExists(QueueDeleteOptions)

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

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

deleteMessage(string, string, QueueDeleteMessageOptions)

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

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

exists(QueueExistsOptions)

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

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

generateSasUrl(QueueGenerateSasUrlOptions)

僅適用于使用共用金鑰認證建構的 QueueClient。

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

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

getProperties(QueueGetPropertiesOptions)

取得指定佇列的所有使用者定義中繼資料和系統屬性。 中繼資料與佇列產生關聯的結果為名稱/值組。

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

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

peekMessages(QueuePeekMessagesOptions)

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

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

receiveMessages(QueueReceiveMessageOptions)

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

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

sendMessage(string, QueueSendMessageOptions)

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

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

setAccessPolicy(SignedIdentifier[], QueueSetAccessPolicyOptions)

為佇列設定可搭配共用存取簽章使用之儲存的存取原則。

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

setMetadata(Metadata, QueueSetMetadataOptions)

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

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

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

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

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

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

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

參數

options
QueueClearMessagesOptions

清除訊息作業的選項。

傳回

清除訊息作業的回應資料。

create(QueueCreateOptions)

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

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

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

佇列刪除作業的選項。

傳回

佇列刪除作業的回應資料。

使用方式範例:

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>

參數

傳回

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

刪除訊息作業的選項。

傳回

刪除訊息作業的回應資料。

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

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

傳回

佇列取得存取原則作業的回應資料。

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

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

傳回

佇列取得屬性作業的回應資料。

peekMessages(QueuePeekMessagesOptions)

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

請參閱https://docs.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://docs.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 作業應該看不到訊息的時間長度。 訊息內容的大小上限為 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

傳送訊息作業的選項。

傳回

傳送訊息作業的回應資料。

使用方式範例:

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

SignedIdentifier[]

options
QueueSetAccessPolicyOptions

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

傳回

佇列集存取原則作業的回應資料。

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

佇列設定中繼資料作業的選項。

傳回

佇列集中繼資料作業的回應資料。

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

更新訊息作業的選項。

傳回

更新訊息作業的回應資料。