private static List<S3Object> GetBucketList(string mediaFolder, string mediaBucket, string marker= null) { var listRequest = new ListObjectsRequest() .WithBucketName(mediaBucket) .WithPrefix(mediaFolder);//GetAwsKey(file, mediaFolder)); if (marker != null) { listRequest.WithMarker(marker); } var response = client.ListObjects(listRequest); var list = response.S3Objects; if (list.Count == 1000) { list = list.Union(GetBucketList(mediaFolder, mediaBucket, response.NextMarker)).ToList(); } return list; }
// ************************************** // GetBucketList // ************************************** private static IList<S3Object> GetBucketList(string mediaFolder, string mediaBucket, string marker = null) { using (var awsclient = Amazon.AWSClientFactory.CreateAmazonS3Client( RemoteMediaConfiguration.AccessKeyID, RemoteMediaConfiguration.SecretAccessKeyID)) { var listRequest = new ListObjectsRequest() .WithBucketName(mediaBucket) .WithPrefix(mediaFolder);//GetAwsKey(file, mediaFolder)); if (marker != null) { listRequest.WithMarker(marker); } var response = awsclient.ListObjects(listRequest); var list = response.S3Objects; if (response.IsTruncated) { list = list.Union(GetBucketList(mediaFolder, mediaBucket, response.NextMarker)).ToList(); } return list; } }