Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }