Экспорт (0) Печать
Развернуть все

Контейнеры списков

Обновлено: Ноябрь 2013 г.

Операция List Containers возвращает список контейнеров в указанной учетной записи.

Запрос List Containers можно составить следующим образом. Рекомендуется использовать протокол HTTPS. Замените myaccount именем нужной учетной записи хранения.

 

Метод URI запроса Версия HTTP

GET

https://myaccount.blob.core.windows.net/?comp=list

HTTP/1.1

Обратите внимание, что URI должен всегда включать косую черту (/) для отделения имени узла от частей пути и запроса URI. В случае операции List Containers часть пути в URI остается пустой.

При построении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт службы BLOB-объектов как 127.0.0.1:10000, затем укажите имя эмулированной учетной записи хранилища.

 

Метод URI запроса Версия HTTP

GET

http://127.0.0.1:10000/devstoreaccount1?comp=list

HTTP/1.1

Обратите внимание, что эмулированное хранилище поддерживает размер BLOB-объектов только до 2 ГБ.

Дополнительные сведения см. в разделах Использование эмулятора хранилища Azure для разработки и тестирования и Различия между эмулятором хранилища и службами хранилища Azure.

В URI запроса могут быть заданы следующие дополнительные параметры.

 

Параметр Описание

prefix

Необязательно. Выполняет фильтрацию результатов для возвращения только контейнеров, имя которых начинается с указанного префикса.

marker

Необязательно. Строковое значение, которое определяет часть списка для возвращения со следующей операцией списка. Операция возвращает значение маркера в тексте ответа, если возвращаемый список неполон. Значение маркера затем можно использовать в последующем вызове для запроса следующего набора элементов списка.

Значение маркера непрозрачно для клиента.

maxresults

Необязательно. Указывает максимальное количество возвращаемых контейнеров. Если в запросе не указано maxresults или указано значение более 5000, сервер возвращает до 5000 элементов. Если для параметра задано значение ниже нуля или равное нулю, сервер возвращает код состояния 400 (неправильный запрос).

include=metadata

Необязательно. Включите этот параметр для указания того, что метаданные контейнера должны быть возвращены в тексте ответа.

Обратите внимание, что запрошенные этим параметром метаданные должны сохраняться в соответствии с ограничениями на именование, введенными в версии 2009-09-19 службы BLOB-объектов. Начиная с данной версии, для всех имен метаданных необходимо соблюдать соглашения об именах для идентификаторов C#.

timeout

Необязательно. Параметр timeout указывается в секундах. Дополнительные сведения см. в Задание времени ожидания для операций службы BLOB-объектов.

В следующей таблице перечислены обязательные и необязательные заголовки запросов.

 

Заголовок запроса Описание

Authorization

Обязательно. Указывает схему проверки подлинности, имя учетной записи и подпись. Дополнительные сведения см. в Проверка подлинности для служб хранения Azure.

Date или x-ms-date

Обязательно. Задает время в формате UTC для запроса. Дополнительные сведения см. в Проверка подлинности для служб хранения Azure.

x-ms-version

Требуется для запросов с проверкой подлинности. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в Управление версиями для служб хранилища Azure.

x-ms-client-request-id

Необязательно. Предоставляет сформированное клиентом непрозрачное значение с ограничением в 1 КБ, которое записывается в журналы аналитики, когда включено ведение журналов аналитики хранилища. Этот заголовок настоятельно рекомендуется использовать для соотнесения действий, выполняемых на стороне клиента, с запросами, получаемыми сервером. Дополнительные сведения см. в разделах Сведения о ведении журнала службы аналитики хранилища и Ведение журналов в Windows Azure: использование журналов для отслеживания запросов к хранилищу.

См. раздел Пример запроса и ответа далее в этом разделе.

Ответ включает код состояния HTTP, набор заголовков ответа и текст ответа в XML-формате.

Успешная операция возвращает код состояния 200 (ОК).

Сведения о кодах состояния см. в разделе Коды состояний и ошибок.

Ответ для этой операции включает следующие заголовки. Ответ также включает дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют Спецификации протокола HTTP/1.1.

 

Заголовок ответа Описание

Content-Type

Стандартный заголовок HTTP/1.1. Задает формат, в котором возвращаются результаты. В настоящее время это значение application/xml.

x-ms-request-id

Этот заголовок однозначно определяет выполненный запрос, его также можно использовать для устранения связанных с запросом неполадок. Дополнительные сведения см. в Устранение неполадок при API-операциях.

x-ms-version

Указывает версию службы BLOB-объектов, используемую для выполнения запроса. Этот заголовок возвращается для запросов, сделанных к версии 2009-09-19 и предшествующей.

Date

Значение даты и времени в формате UTC, сформированное службой и указывающее время, когда был инициирован ответ.

Текст ответа имеет следующий формат.

<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net">
  <Prefix>string-value</Prefix>
  <Marker>string-value</Marker>
  <MaxResults>int-value</MaxResults>
  <Containers>
    <Container>
      <Name>container-name</Name>
      <Properties>
        <Last-Modified>date/time-value</Last-Modified>
        <Etag>etag</Etag>
        <LeaseStatus>locked | unlocked</LeaseStatus>
        <LeaseState>available | leased | expired | breaking | broken</LeaseState>
        <LeaseDuration>infinite | fixed</LeaseDuration>      
      </Properties>
      <Metadata>
        <metadata-name>value</metadata-name>
      </Metadata>
    </Container>
  </Containers>
  <NextMarker>marker-value</NextMarker>
</EnumerationResults>

LeaseStatus, LeaseState и LeaseDuration появляются только в версии 2012-02-12 и позднее.

Начиная с версии 2013-08-15, атрибут AccountName для элемента EnumerationResults переименован в ServiceEndpoint. Элемент URL также был удален из элемента Container. Для версий до 2013-08-15 URL-адрес контейнера, указываемый в поле URL, не включает параметр restype=container. Если это значение используется для последующих запросов к перечисленным контейнерам, то следует обязательно добавлять этот параметр, чтобы указать, что тип ресурса — контейнер.

Элементы Prefix, Marker и MaxResults присутствуют, только если они указаны в URI запроса. Элемент NextMarker имеет значение, только если результаты списка неполны.

Элемент Metadata присутствует, только если параметр include=metadata был указан в URI. В элементе 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>

noteПримечание
Начиная с версии 2009-09-19, текст ответа для List Containers возвращает время последнего изменения контейнера в элементе с названием Last-Modified. В предыдущих версиях этот элемент назывался LastModified.

См. раздел Пример запроса и ответа далее в этом разделе.

Вызов этой операции доступен только владельцу учетной записи.

Если указано значение параметра maxresults и количество контейнеров для возврата превышает это значение или превышает значение по умолчанию для maxresults, текст ответа будет содержать элемент NextMarker, указывающий на следующий контейнер, который будет возвращен в последующем запросе. Чтобы вернуть следующий набор элементов, укажите значение NextMarker в качестве параметра маркера в URI в последующем запросе.

Обратите внимание, что значение NextMarker должно обрабатываться как непрозрачное.

Контейнеры в тексте ответа перечисляются в алфавитном порядке.

Время ожидания для операции List Containers истекает через 30 секунд.

В следующем примере URI запрашивает список контейнеров для учетной записи с установленным максимальным количеством результатов для возврата в начальной операции, равным 3.

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

Запрос отправлен с такими заголовками.

x-ms-version: 2013-08-15
x-ms-date: Wed, 23 Oct 2013 22:08:44 GMT
Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/D5Gy0fXvg=

Возвращены следующие код состояния и заголовки ответа.

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

XML ответа для этого запроса будет следующим. Обратите внимание, что элемент NextMarker следует за набором контейнеров и включает имя следующего контейнера, который будет возвращен.

<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net/">
  <MaxResults>3</MaxResults>
  <Containers>
    <Container>
      <Name>audio</Name>
      <Properties>
        <Last-Modified>Wed, 23 Oct 2013 20:39:39 GMT</Last-Modified>
        <Etag>0x8CACB9BD7C6B1B2</Etag>
      </Properties>
    </Container>
    <Container>
      <Name>images</Name>
      <Properties>
        <Last-Modified>Wed, 23 Oct 2013 20:39:39 GMT</Last-Modified>
        <Etag>0x8CACB9BD7C1EEEC</Etag>
      </Properties>
    </Container>
    <Container>
      <Name>textfiles</Name>
      <Properties>
        <Last-Modified>Wed, 23 Oct 2013 20:39:39 GMT</Last-Modified>
        <Etag>0x8CACB9BD7BACAC3</Etag>
      </Properties>
    </Container>
  </Containers>
  <NextMarker>video</NextMarker>
</EnumerationResults>

Последующая операция для списка определяет маркер в URI запроса следующим образом. Следующий набор результатов возвращается, начиная с контейнера, указанного маркером.

https://myaccount.blob.core.windows.net/?comp=list&maxresults=3&marker=video

Показ:
© 2014 Microsoft