예제 #1
0
        public override Result Execute(ConDepSettings settings, CancellationToken token)
        {
            var dynamicAwsConfig = settings.Config.OperationsConfig.Aws;

            var client = new Amazon.S3.AmazonS3Client(GetAwsCredentials(dynamicAwsConfig), RegionEndpoint.GetBySystemName((string)dynamicAwsConfig.Region));

            var response = client.GetObject(_bucket, _key);

            response.WriteResponseStreamToFile(_dstFile);

            var result = Result.SuccessUnChanged();

            result.Data.BucketName     = response.BucketName;
            result.Data.ContentLength  = response.ContentLength;
            result.Data.Expiration     = response.Expiration;
            result.Data.Expires        = response.Expires;
            result.Data.HttpStatusCode = response.HttpStatusCode;
            result.Data.Key            = response.Key;
            result.Data.LastModified   = response.LastModified;
            result.Data.ServerSideEncryptionCustomerMethod = response.ServerSideEncryptionCustomerMethod;
            result.Data.ServerSideEncryptionMethod         = response.ServerSideEncryptionMethod;
            result.Data.StorageClass            = response.StorageClass;
            result.Data.VersionId               = response.VersionId;
            result.Data.WebsiteRedirectLocation = response.WebsiteRedirectLocation;
            return(result);
        }
예제 #2
0
 private byte[] GetBytes(string dataStorage, string fileName)
 {
     using (var client = new Amazon.S3.AmazonS3Client(RegionEndpoint.USWest2))
     {
         using (var response = client.GetObject(dataStorage, fileName))
         {
             using (var memotyStream = new MemoryStream())
             {
                 response.ResponseStream.CopyTo(memotyStream);
                 return(memotyStream.ToArray());
             }
         }
     }
 }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public Amazon.S3.Model.GetObjectResponse Get(string key)
        {
            try
            {
                Amazon.S3.AmazonS3Client         client = new Amazon.S3.AmazonS3Client(AWAPI_File_AmazonS3_AccessKey, AWAPI_File_AmazonS3_SecretKey);
                Amazon.S3.Model.GetObjectRequest req    = new Amazon.S3.Model.GetObjectRequest();
                req.BucketName = AWAPI_File_AmazonS3_BucketName;
                req.Key        = key;
                Amazon.S3.Model.GetObjectResponse res = client.GetObject(req);

                return(res);
            }
            catch (Exception ex)
            {
            }
            return(null);
        }
예제 #4
0
        /// <summary>
        /// Check if the file exists or not
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public Amazon.S3.Model.GetObjectResponse Get(string fileName)
        {
            try
            {
                Amazon.S3.AmazonS3Client client = new Amazon.S3.AmazonS3Client(ConfigurationLibrary.Config.fileAmazonS3AccessKey,
                                                                               ConfigurationLibrary.Config.fileAmazonS3SecreyKey);
                Amazon.S3.Model.GetObjectRequest req = new Amazon.S3.Model.GetObjectRequest();
                req.BucketName = GetBucketNameFromUrl(fileName); // ConfigurationLibrary.Config.fileAmazonS3BucketName;
                req.Key        = fileName;
                Amazon.S3.Model.GetObjectResponse res = client.GetObject(req);

                return(res);
            }
            catch (Exception ex)
            {
            }
            return(null);
        }