你当前正在访问 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 存储的请求。 |
Date 或 x-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 上指定了 、 Marker
和 MaxResults
元素时才存在。
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>