你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

列出队列

此操作列出特定存储帐户中的所有队列。

请求

可以按如下所示构造 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 上指定以下附加参数。

参数 说明
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-kiB (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 队列存储

请求正文

无。

示例请求

请参阅本文后面的“示例请求和响应”部分。

响应

响应包括 HTTP 状态代码、一组响应标头和包含队列列表的响应正文。

状态代码

此操作成功后返回状态代码 200(正常)。 有关状态代码的信息,请参阅 状态和错误代码

响应头

此操作的响应包括以下标头。 响应还可以包含其他标准 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 。 此元素指示在后续请求中返回的下一个队列。 要返回下一组项,请在后续请求的 URI 上将 NextMarker 值指定为标记参数。

请注意,NextMarker 值应视为不透明。

在响应正文中按字母顺序列出队列。

示例请求和响应

下面是请求帐户队列列表的示例 URI。 它将初始操作返回的最大结果设置为 3。

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 存储的请求
状态和错误代码
队列存储错误代码