Exemple #1
0
        public async Task <StoreData.Response> Save(LambdaStoreArg data)
        {
            var resp = new StoreData.Response()
            {
                status = StoreError.E_CHAOS.ToString()
            };

            try {
                using (var s3Client = new AmazonS3Client(Amazon.RegionEndpoint.APNortheast1))
                {
                    var s3Req = new PutObjectRequest
                    {
                        BucketName  = data.s3Bucket,
                        Key         = data.s3Path,
                        ContentType = ((StoreData.Type)data.dataType).ToContentType(),
                        ContentBody = encoding.GetString(Convert.FromBase64String(data.dataBody))
                    };
                    var s3Resp = await s3Client.PutObjectAsync(s3Req);

                    resp.status = StoreError.E_OK.ToString();
                }
            }
            catch (Exception e)
            {
                m_ctx.Log(e.ToString());
                resp.status = StoreError.E_CRITICAL.ToString();
            }

            return(resp);
        }
Exemple #2
0
        public async Task <StoreData.Response> Load(LambdaStoreArg data)
        {
            var resp = new StoreData.Response()
            {
                status = StoreError.E_CHAOS.ToString()
            };

            try{
                using (var s3Client = new AmazonS3Client(Amazon.RegionEndpoint.APNortheast1))
                {
                    var s3Req = new GetObjectRequest
                    {
                        BucketName = data.s3Bucket,
                        Key        = data.s3Path
                    };
                    var s3Resp = await s3Client.GetObjectAsync(s3Req);

                    using (var s3Stream = new StreamReader(s3Resp.ResponseStream)){
                        var dataBody = s3Stream.ReadToEnd();
                        resp.status   = StoreError.E_OK.ToString();
                        resp.dataBody = Convert.ToBase64String(encoding.GetBytes(dataBody));
                    }
                }
            }
            catch (Exception ex) {
                m_ctx.Log(ex.Message);
                resp.status = StoreError.E_CRITICAL.ToString();
                resp.meta   = data.s3Path + " : " + ex.Message;
            }

            return(resp);
        }