/// <summary> /// Lists objects from the specified S3 bucket. /// </summary> /// <param name="bucket">The name of the bucket to get objects from.</param> /// <param name="prefix">The prefix used to filter any results. For example if you had /// a folder called img in the root of your bucket, the prefix used would be img/ to /// get all keys in that folder with a delimiter of / to only return keys in that folder, not subfolders.</param> /// <param name="delimiter">Used to specify the end of what to return keys for. For example, to /// get all keys in folder a in the structure a/b/keys, you would use a/ as the prefix and /// / as the delimiter to only get keys inside a.</param> /// <param name="maxKeys">The maximum number of keys to return.</param> /// <param name="marker">The key to start with when returning keys. Keys are stored in alphabetical order in s3.</param> public static Amazon.S3.Model.ListObjectsResponse ListObjectsResponse(string bucket, string prefix = "", string delimiter = null, int maxKeys = 1000, string marker = null) { Amazon.S3.Model.ListObjectsResponse response = new Amazon.S3.Model.ListObjectsResponse(); using (Amazon.S3.IAmazonS3 client = new Factory().S3Client()) { Amazon.S3.Model.ListObjectsRequest request = new Amazon.S3.Model.ListObjectsRequest() { BucketName = bucket, Prefix = prefix, MaxKeys = maxKeys }; if (delimiter != null) request.Delimiter = delimiter; if (marker != null) request.Marker = marker; response = client.ListObjects(request); } return response; }