コード例 #1
0
 /// <summary>
 /// download object
 /// </summary>
 /// <param name="key"></param>
 /// <param name="filePath"></param>
 /// <returns></returns>
 public async Task <PutObjectResponse> UploadObjectAsync(string key, string filePath)
 {
     using (var client = new AWSS3Client(_accessKeyId, _secretAccessKey, _region))
     {
         return(await client.PutObjectAsync(_backetName, key, filePath));
     }
 }
コード例 #2
0
 /// <summary>
 /// get signed upload url
 /// </summary>
 /// <param name="key"></param>
 /// <returns></returns>
 public string GetSignedUploadUrl(string key)
 {
     using (var client = new AWSS3Client(_accessKeyId, _secretAccessKey, _region))
     {
         return(client.GetPreSignedUrl(_backetName, key, HttpVerb.PUT, _expireMinites));
     }
 }
コード例 #3
0
 public string GetStoryUrl(string storyName)
 => AWSS3Client.GetPreSignedURL(new GetPreSignedUrlRequest
 {
     BucketName = bucketName,
     Key        = storyName,
     Expires    = DateTime.Now.AddDays(1),
     Protocol   = Protocol.HTTPS
 });
コード例 #4
0
 /// <summary>
 /// download object
 /// </summary>
 /// <param name="key"></param>
 /// <param name="filePath"></param>
 /// <param name="appendFile"></param>
 /// <param name="cancellationToken"></param>
 /// <returns></returns>
 public async Task DownloadObjectAsync(string key, string filePath, bool appendFile, CancellationToken cancellationToken)
 {
     using (var client = new AWSS3Client(_accessKeyId, _secretAccessKey, _region))
     {
         using (var result = await client.GetObjectAsync(_backetName, key, _expireMinites))
         {
             await result.WriteResponseStreamToFileAsync(filePath, appendFile, cancellationToken);
         }
     }
 }
コード例 #5
0
        /// <summary>
        /// get object keys
        /// </summary>
        /// <param name="prefix"></param>
        /// <returns></returns>
        public async Task <IEnumerable <string> > GetObjectKeysAsync(string prefix)
        {
            var objectKeys = new List <string>();

            using (var client = new AWSS3Client(_accessKeyId, _secretAccessKey, _region))
            {
                string continuationToken = null;
                var    isTruncated       = true;
                while (isTruncated)
                {
                    var result = await client.ListObjectsV2Async(_backetName, prefix, continuationToken);

                    if (result.S3Objects != null && result.S3Objects.Any())
                    {
                        objectKeys.AddRange(result.S3Objects.Select(s3Object => s3Object.Key).ToArray());
                    }
                    isTruncated       = result.IsTruncated;
                    continuationToken = result.NextContinuationToken;
                }
            }
            return(objectKeys);
        }
コード例 #6
0
 public async Task <List <S3Object> > ListStories()
 => (await AWSS3Client.ListObjectsAsync(bucketName)).S3Objects;