public async Task <bool> SaveObject(T entity, string objectKey) { string json = JsonConvert.SerializeObject(entity, Formatting.None); using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) { S3Helper s3 = new S3Helper(_s3Client); await s3.SaveFile(_bucket, objectKey, ms, S3CannedACL.AuthenticatedRead); } return(true); }
public async Task <T> GetObject(string objectKey) { S3Helper s3 = new S3Helper(_s3Client); var url = s3.GetUrl(_bucket, objectKey); HttpWebRequest http = (HttpWebRequest)WebRequest.Create(url); WebResponse response = null; try { response = await http.GetResponseAsync(); using (var stream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { string json = reader.ReadToEnd(); var items = JsonConvert.DeserializeObject <T>(json); return(items); } } } catch (AmazonS3Exception ex) { if (ex.StatusCode == HttpStatusCode.NotFound) { return(default(T)); } } catch (Exception ex) { return(default(T)); } finally { response?.Dispose(); } return(default(T)); }