コード例 #1
0
ファイル: S3.cs プロジェクト: WOLAS-Revolution/aws-tools
        /// <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;
        }