列出佇列

此作業會列出特定儲存體帳戶中的所有佇列。

要求

您可以依照下列方式建構 List Queues 要求。 建議使用 HTTPS。 以儲存體帳戶的名稱取代 myaccount

方法 要求 URI HTTP 版本
GET https://myaccount.queue.core.windows.net?comp=list HTTP/1.1

模擬儲存體服務 URI

當您對模擬儲存體服務提出要求時,請將模擬器主機名稱和 Azure 佇列儲存體埠指定為 127.0.0.1:10001 ,後面接著模擬的儲存體帳戶名稱。

方法 要求 URI HTTP 版本
GET http://127.0.0.1:10001/devstoreaccount1?comp=list HTTP/1.1

URI 參數

您可以在要求 URI 上指定下列其他參數。

參數 Description
prefix 篩選結果,只傳回名稱開頭為指定前置詞的佇列。
marker 識別下一個清單作業所要傳回之清單部分的字串值。 如果傳回的清單未完成,作業會傳回 NextMarker 回應本文內的專案。 然後,您可以在後續呼叫中使用此值作為查詢參數,以要求佇列清單的下一個部分。

此標記值對於用戶端為不透明。
maxresults 指定要傳回的最大佇列數目。 如果未 maxresults 指定,伺服器最多會傳回 5,000 個專案。
include=metadata 選擇性。 包含此參數可指定將容器的中繼資料當做回應主體的一部分傳回。

請注意,使用此參數要求的中繼資料必須根據 2009-09-19 版佇列儲存體所加加的命名限制來儲存。 從這個版本開始,所有中繼資料名稱都必須遵守 C# 識別碼的命名慣例。
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定佇列儲存體作業的逾時

要求標頭

下表描述必要的和選用的要求標頭。

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 選擇性。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-client-request-id 選擇性。 提供用戶端產生的不透明值,其中包含 1-kibibyte (KiB) 設定記錄時記錄在記錄中的字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器收到的要求相互關聯。 如需詳細資訊,請參閱 監視 Azure 佇列儲存體

要求本文

無。

範例要求

請參閱本文稍後的一節。

回應

回應包括 HTTP 狀態碼、一組回應標頭,以及含有佇列清單的回應主體。

狀態碼

成功的作業會傳回狀態碼 200 (OK)。 如需狀態碼的相關資訊,請參閱 狀態和錯誤碼

回應標頭

這項作業的回應包括下列標頭。 回應也可以包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格

回應標頭 描述
x-ms-request-id 此標頭可唯一識別已提出的要求,並可用於對要求進行疑難排解。 如需詳細資訊,請參閱 針對 API 作業進行疑難排解
x-ms-version 指出用來執行要求的佇列儲存體版本。 對 2009-09-19 及更新版本提出要求會傳回此標頭。
Date UTC 日期/時間值,指出起始回應的時間。 服務會產生此值。
x-ms-client-request-id 您可以使用此標頭來針對要求和對應的回應進行疑難排解。 如果此標頭存在於要求中,這個標頭的值會等於標頭的值 x-ms-client-request-id 。 此值最多為 1024 個可見的 ASCII 字元。 x-ms-client-request-id如果要求中沒有標頭,則此標頭不會出現在回應中。

回應本文

回應本文的格式如下。 請注意, Prefix 只有在您在 URI 上指定 、 MarkerMaxResults 元素時,才會存在。 只有在清單結果未完成時,專案 NextMarker 才會有值。

針對 2013-08-15 版和更新版本, AccountName 專案的 EnumerationResults 屬性已重新命名為 ServiceEndpoint 。 此外已移除 Url 下的 Queue 元素。

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="https://myaccount.queue.core.windows.net/">  
  <Prefix>string-value</Prefix>  
  <Marker>string-value</Marker>  
  <MaxResults>int-value</MaxResults>  
  <Queues>  
    <Queue>  
      <Name>string-value</Name>  
      <Metadata>  
      <metadata-name>value</metadata-name>  
    <Metadata>  
    </Queue>  
  <NextMarker />  
</EnumerationResults>  

只有在 URI 中指定 Metadata 參數時,include=metadata 項目才存在。 在 Metadata 項目中,每個名稱/值組的值會列於與組合名稱對應的項目內。

如有中繼資料名稱/值組違反 2009-09-19 版本所強制執行的命名限制,回應主體會在 x-ms-invalid-name 項目內指出此問題名稱,如下列 XML 片段所示:

  
…  
<Metadata>  
  <MyMetadata1>first value</MyMetadata1>  
  <MyMetadata2>second value</MyMetadata2>  
  <x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>  
<Metadata>  
…  
  

範例回應

請參閱本文稍後的一節。

授權

只有帳戶擁有者可以呼叫這項作業。

備註

如果您為 maxresults 參數指定值,而要傳回的佇列數目超過此值,或超過 的 maxresults 預設值,則回應本文會 NextMarker 包含 元素。 這個專案表示下一個佇列,以在後續要求上傳回。 若要傳回下一組項目,請指定 NextMarker 的值做為 URI 中的標記參數,以進行後續要求。

請注意,NextMarker 的值應視為不透明。

佇列會依字母順序列於回應主體中。

範例要求與回應

以下是要求帳戶佇列清單的範例 URI。 它會將初始作業傳回的最大結果設定為三。

GET https://myaccount.queue.core.windows.net?comp=list&maxresults=3&include=metadata HTTP/1.1  

所傳送的要求包含下列標頭:

x-ms-version: 2013-08-15  
x-ms-date: Wed, 23 Oct 2013 00:55:16 GMT  
Authorization: SharedKey myaccount:Q7tar7qqM2LD/Wey7OQNPP3hMNap9wjg+g9AlAYeFls=  

傳回的狀態碼和回應標頭如下:

HTTP/1.1 200 OK  
Transfer-Encoding: chunked  
Content-Type: application/xml  
Date: Wed, 23 Oct 2013 00:56:38 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  

此要求的回應 XML 如下。 請注意,元素 NextMarker 會遵循一組佇列,並包含要傳回之下一個佇列的名稱。

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="https://myaccount.queue.core.windows.net/">  
  <Prefix>q</Prefix>  
  <MaxResults>3</MaxResults>  
  <Queues>  
    <Queue>  
      <Name>q1</Name>  
      <Metadata>  
        <Color>red</Color>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      <Metadata>  
    </Queue>  
    <Queue>  
      <Name>q2</Name>  
      <Metadata>  
        <Color>blue</Color>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      <Metadata>  
    </Queue>  
    <Queue>  
      <Name>q3</Name>  
      <Metadata>  
        <Color>yellow</Color>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      <Metadata>  
    </Queue>  
  </Queues>  
  <NextMarker>q4</NextMarker>  
</EnumerationResults>  

後續清單作業在要求 URI 中指定標記 (如下所示)。 會傳回下一組結果,從標記指定的佇列開始。 以下是後續要求的 URI:

https://myaccount.queue.core.windows.net?comp=list&maxresults=3&include=metadata&prefix=q&marker=q4  

此項作業的回應主體如下:

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="https://myaccount.queue.core.windows.net/">  
  <Prefix>q</Prefix>  
  <Marker>q4</Marker>  
  <MaxResults>3</MaxResults>  
  <Queues>  
    <Queue>  
      <Name>q4</Name>  
      <Metadata>  
        <Color>green</Color>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      <Metadata>  
    </Queue>  
    <Queue>  
      <Name>q5</Name>  
      <Metadata>  
        <Color>violet</Color>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      <Metadata>  
    </Queue>  
  </Queues>  
  <NextMarker />  
</EnumerationResults>  

另請參閱

授權對 Azure 儲存體的要求
狀態和錯誤碼
佇列儲存體錯誤碼