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)); } }
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)); } }
public Filter(S3Key key) { S3Key = key; }
public Filter() { S3Key = new S3Key(); }