How to list _all_ objects in Amazon S3 bucket?

前端 未结 4 1414
旧巷少年郎
旧巷少年郎 2021-02-06 23:19

S3Client.ListObjects return only 1000 of objects. How to retrieve list of all existing objects using Amazon C# library?

4条回答
  •  感动是毒
    2021-02-07 00:09

    API version has been changed; so need to do as below:

                ListObjectsV2Request request = new ListObjectsV2Request
                {
                    BucketName = bucketName,
                    MaxKeys = 10
                };
                ListObjectsV2Response response;
                do
                {
                    response = await client.ListObjectsV2Async(request);
    
                    // Process the response.
                    foreach (S3Object entry in response.S3Objects)
                    {
                        Console.WriteLine("key = {0} size = {1}",
                            entry.Key, entry.Size);
                    }
                    Console.WriteLine("Next Continuation Token: {0}", response.NextContinuationToken);
                    request.ContinuationToken = response.NextContinuationToken;
                } while (response.IsTruncated);
    

    For full details, please see https://docs.aws.amazon.com/AmazonS3/latest/dev/ListingObjectKeysUsingNetSDK.html

提交回复
热议问题