Контейнеры списков
Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

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

 

Классы System.Threading.Tasks.Task и System.Threading.Tasks.Task<TResult> поддерживают отмену через использование токенов отмены в .NET Framework.

Классы System.Threading.Tasks.Task и System.Threading.Tasks.Task<TResult> поддерживают отмену через использование токенов отмены в .NET Framework. Рекомендуется использовать протокол 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

Необязательно. Ядро автоматизации UI маскирует любые отличия в структурах, принадлежащих различным частям UI. Дополнительные сведения см. в разделе Задание времени ожидания для операций службы BLOB-объектов.

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

Заголовок запроса

Описание

Authorization

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

Date или x-ms-date

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

x-ms-version

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

x-ms-client-request-id

Необязательно. Клиент создал непрозрачное значение с ограничением символов, равным 1 КБ, которое записывается в журналы аналитики, когда ведение журнала службы аналитики хранилища включено. Настоятельно рекомендуется использовать этот заголовок для корреляции действий на стороне клиента с запросами, которые принимает сервер. Дополнительные сведения см. в разделе Сведения о ведении журнала службы аналитики хранилища и Ведение журнала 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. Ядро автоматизации UI маскирует любые отличия в структурах, принадлежащих различным частям UI. Контейнер для версий до 2013-08-15, URL-адрес, в соответствии с URL не включает restype=container параметра. Если это значение используется для последующих запросов к перечисленным контейнерам, то следует обязательно добавлять этот параметр, чтобы указать, что тип ресурса — контейнер.

Классы System.Threading.Tasks.Task и System.Threading.Tasks.Task<TResult> поддерживают отмену через использование токенов отмены в .NET Framework. Ядро автоматизации UI маскирует любые отличия в структурах, принадлежащих различным частям UI.

Классы System.Threading.Tasks.Task и System.Threading.Tasks.Task<TResult> поддерживают отмену через использование токенов отмены в .NET Framework. В 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>

System_CAPS_noteПримечание

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

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

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

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

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

Классы System.Threading.Tasks.Task и System.Threading.Tasks.Task<TResult> поддерживают отмену через использование токенов отмены в .NET Framework.

В следующем примере 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
Показ:
© 2016 Microsoft