Как уже говорилось, Amazon S3 действительно требует перечисления ключей с использованием AWS SDK для .NET :
Поскольку корзины могут содержать практически неограниченное количество ключей,
Полные результаты запроса списка могут быть очень большими. Управлять
Большие наборы результатов, Amazon S3 использует разбиение на страницы, чтобы разделить их на
несколько ответов. Каждый ответ списка ключей возвращает страницу до
1000 клавиш с индикатором, показывающим, урезан ли ответ.
Вы отправляете серию запросов списка ключей, пока не получите все
ключи.
Упомянутый индикатор является свойством NextMarker из класса ObjectsResponse - его использование иллюстрируется в полном примере Вывод списка ключей с использованием AWS SDK для .NET с соответствующим фрагментом:
static AmazonS3 client;
client = Amazon.AWSClientFactory.CreateAmazonS3Client(
accessKeyID, secretAccessKeyID);
ListObjectsRequest request = new ListObjectsRequest();
request.BucketName = bucketName;
do
{
ListObjectsResponse response = client.ListObjects(request);
// Process response.
// ...
// If response is truncated, set the marker to get the next
// set of keys.
if (response.IsTruncated)
{
request.Marker = response.NextMarker;
}
else
{
request = null;
}
} while (request != null);