Метод listObjects

Возвращает перечень объектов в бакете.

При выдаче используется пагинация, за один запрос можно получить список не длиннее 1000 объектов. Если объектов больше, то необходимо выполнить несколько запросов подряд.

Запрос

GET /{bucket} HTTP/1.1

Path параметры

Параметр Описание
bucket Имя бакета.

Query параметры

Все перечисленные в таблице параметры необязательные.

Параметр Описание
delimiter Символ-разделитель.

Если параметр указан, то Object Storage рассматривает ключ как путь к файлу, где каталоги разделяются символом delimiter. В ответе на запрос пользователь увидит перечень файлов и каталогов в бакете. Файлы будут выведены в элементах Contents, а каталоги в элементах CommonPrefixes.

Если в запросе указан еще и параметр prefix, то Object Storage вернет перечень файлов и каталогов в каталоге prefix.
marker Ключ, с которого начнется выдача.

В результирующей выдаче Object Storage оставит ключи, начиная со следующего за marker.
max-keys Максимальное количество элементов в ответе.

По умолчанию Object Storage выдает не более 1000 элементов Contents и CommonPrefixes. Параметр следует использовать если вам нужно получать менее 1000 элементов в одном ответе.

Если под критерии отбора попадает больше ключей, чем поместилось в выдаче, то ответ содержит <IsTruncated>true</IsTruncated>.

Чтобы получить все элементы выдачи, если их больше max-keys, необходимо выполнить несколько последовательных запросов к Object Storage с параметром marker, где для каждого запроса marker равен значению элемента MaxKeys из предыдущего ответа.
prefix Строка, с которой должен начинаться ключ.

Object Storage выберет только те ключи, которые начинаются с prefix.

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

Заголовки

Используйте в запросе только общие заголовки.

Ответ

Заголовки

Ответ может содержать только общие заголовки.

Коды ответов

Перечень возможных ответов смотрите в разделе Ответы.

Успешный ответ содержит дополнительные данные в формате XML, схема которого описана ниже.

Схема данных

<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult>
    <Name>bucket</Name>
    <Prefix/>
    <Marker/>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Contents>
        <Key>my-image.jpg</Key>
        <LastModified>2018-09-10T17:50:30.000Z</LastModified>
        <ETag>MD5</ETag>
        <Size>434234</Size>
        <StorageClass>STANDARD</StorageClass>
    </Contents>
</ListBucketResult>
Элемент Описание
Contents Описание объекта.

Ответ будет содержать столько элементов Contents, сколько ключей попало под условия запроса.

Путь: /ListBucketResult/Contents.
CommonPrefixes Часть имени ключа, которая определяется при обработке path параметров delimiter и prefix.

Путь: /ListBucketResult/CommonPrefixes.
Delimiter Значение path параметра delimiter.

Путь: /ListBucketResult/Delimiter.
ETag MD5-хэш объекта. Метаданные в расчете хэша не участвуют.

Путь: /ListBucketResult/Contents/ETag.
IsTruncated Флаг, показывающий все ли результаты возвращены в этом ответе.

True — все. False — не все.

Путь: /ListBucketResult/IsTruncated.
Key Ключ объекта.

Путь: /ListBucketResult/Contents/Key.
LastModified Дата и время последнего изменения объекта.

Путь: /ListBucketResult/Contents/LastModified.
Marker Значение path параметра marker.

Путь: /ListBucketResult/Marker.
MaxKeys Значение path параметра max-keys.

Путь: /ListBucketResult/MaxKeys.
Name Имя бакета.

Путь: /ListBucketResult/Name.
NextMarker Значение, которое надо подставить в path параметр marker для получения следующей части списка, если весь список не поместился в текущий ответ.

Путь: /ListBucketResult/NextMarker.
Prefix Значение path параметра prefix.

Путь: /ListBucketResult/Prefix.
Size Размер объекта в байтах.

Путь: /ListBucketResult/Contents/Size.
StorageClass Класс хранения объекта: STANDARD или COLD.

Путь: /ListBucketResult/Contents/StorageClass.