コード例 #1
0
        public async Task <IResult <S3File> > GetS3FileAsync(S3Key key)
        {
            try
            {
                using var response = await _s3Client.GetObjectAsync(BucketName, key.Value);

                await using var responseStream = response.ResponseStream;
                using var reader = new StreamReader(responseStream);

                var responseBody = await reader.ReadToEndAsync();

                var result = new S3File(responseBody);

                return(Result.Success(result));
            }
            catch (AmazonS3Exception)
            {
                return(Result.Failure <S3File>($"Specified key does not exist: {key.Value}"));
            }
            catch (Exception e)
            {
                var error = $"Error encountered. Message:'{e.Message}' when reading object";
                return(Result.Failure <S3File>(error));
            }
        }
コード例 #2
0
        public async Task <IResult> PutS3FileAsync(S3File obj, S3Key s3Key)
        {
            try
            {
                var putRequest = new PutObjectRequest
                {
                    BucketName  = BucketName,
                    Key         = s3Key.Value,
                    ContentBody = obj.Content
                };

                await _s3Client.PutObjectAsync(putRequest);

                return(Result.Success());
            }
            catch (Exception e)
            {
                var error = $"Error encountered. Message:'{e.Message}' when writing object";
                return(Result.Failure(error));
            }
        }
コード例 #3
0
 public Filter(S3Key key)
 {
     S3Key = key;
 }
コード例 #4
0
 public Filter()
 {
     S3Key = new S3Key();
 }