Перечислите более 1000 блоков с XML API - PullRequest
1 голос
/ 23 сентября 2019

ПОЛУЧИТЬ Службу для перечисления Buckets

С помощью учебника по ссылке выше, я могу перечислить Buckets в моем аккаунте.Тем не менее, ответ возвращает только 1000 Buckets, что, я считаю, является пределом для одного ответа.Проблема в том, как я могу перечислить оставшиеся корзины в моей учетной записи?Для перечисления Bucket Objects мы можем добавить параметр маркера, чтобы указать, с какого объекта продолжить перечисление, но, похоже, такого параметра нет для перечисления Buckets.

Edit:

Я использую ключи HMAC вместо OAuth2 для выполнения запроса, поэтому я не могу использовать JSON API, «ключи HMAC могут использоваться только для отправки запросов к XML API, но не к JSON API», согласно Ограничения для ключей HMAC

Текущий XML-ответ, который не содержит ничего, как маркер, курсор или pageToken:

<?xml version='1.0' encoding='UTF-8'?>
<ListAllMyBucketsResult
    xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
    <Buckets>
        <Bucket>
            <Name>bucket-1</Name>
            <CreationDate>2019-09-23T07:03:11.892Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-2</Name>
            <CreationDate>2019-09-23T07:03:12.578Z</CreationDate>
        </Bucket>
        ...
        <Bucket>
            <Name>bucket-999</Name>
            <CreationDate>2019-09-23T07:03:11.892Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-1000</Name>
            <CreationDate>2019-09-23T07:03:12.578Z</CreationDate>
        </Bucket>
  </Buckets>
</ListAllMyBucketsResult>

1 Ответ

1 голос
/ 23 сентября 2019

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

Перед его реализацией вы можете протестируйте этот API со страницы документации.

...