Exemple #1
0
        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;
            }
        }