2016-08-04 2 views
0

Я пытался загрузить файл на AWS S3, ниже код, который я пытаюсьзагрузки файла на AWS .error При использовании АМС

private static void UploadToAWS(string localFilePath, string bucketName, string subDirectoryInBucket, string fileNameInS3) 
{ 
    string accessKey = ConfigurationManager.AppSettings["AMAZON_S3_ACCESSKEY"].ToString(); 
    string secretKey = ConfigurationManager.AppSettings["AMAZON_S3_SECRETKEY"].ToString(); 

    AmazonS3Config asConfig = new AmazonS3Config() 
    { 
     ServiceURL = "http://test.s3.amazonaws.com", 

    }; 
    IAmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey,secretKey,asConfig); 


    TransferUtility utility = new TransferUtility(client); 

    TransferUtilityUploadRequest request = new TransferUtilityUploadRequest(); 

    if (subDirectoryInBucket == "" || subDirectoryInBucket == null) 
    { 
     request.BucketName = bucketName; //no subdirectory just bucket name 
    } 
    else 
    { // subdirectory and bucket name 
     request.BucketName = bucketName + @"/" + subDirectoryInBucket; 
    } 
    request.Key = fileNameInS3; //file name up in S3 
    request.FilePath = localFilePath; //local file name 
    request.Headers.CacheControl = "public"; 
    request.Headers.Expires = DateTime.Now.AddYears(3); 
    request.Headers.ContentEncoding = "gzip"; 
    utility.Upload(request); //commensing the transfer 
} 


    UploadToAWS(@"D:\core_gz.min.js", "test123", "test/build/", "core_gz.min.js"); 

Когда я выполнить это, я получаю следующую ошибку

Подписанный запрос не соответствует указанной вами подписке. предоставлен. Проверьте свой ключ и метод подписи.

Может ли один помочь мне здесь, что я делаю неправильно здесь

+0

Возможный дубликат [Amazon MWS - подпись запроса вычисляется не совпадает с подписью при условии] (http://stackoverflow.com/questions/2777078/amazon-mws-request-signature-calculated-does-not-match-the-signature-provided) – Venky

+0

@venky я проверил это, прежде чем публиковать здесь вопрос, но это не так, t для меня, как это может быть дубликат – SoftwareNerd

+0

На какой строке выдается ошибка, если вы отлаживаете. – Venky

ответ

0

Я просто хотел отправить ответ, если в случае, если это может помочь кто-то еще, кто имеет такой же вопрос

 private static void UploadToAWS(string localFilePath, string bucketName, string subDirectoryInBucket, string fileNameInS3) 
     { 
     string accessKey = ConfigurationManager.AppSettings["AMAZON_S3_ACCESSKEY"].ToString(); 
     string secretKey = ConfigurationManager.AppSettings["AMAZON_S3_SECRETKEY"].ToString(); 

     AmazonS3Config asConfig = new AmazonS3Config() 
      { 
    ServiceURL = "http://test.s3.amazonaws.com", 
    RegionEndpoint = Amazon.RegionEndpoint.APSoutheast1 // this line fixed the issue 
      }; 
     IAmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey,secretKey,asConfig); 


     TransferUtility utility = new TransferUtility(client); 

     TransferUtilityUploadRequest request = new TransferUtilityUploadRequest(); 

     if (subDirectoryInBucket == "" || subDirectoryInBucket == null) 
     { 
     request.BucketName = bucketName; //no subdirectory just bucket name 
     } 
     else 
     { // subdirectory and bucket name 
     request.BucketName = bucketName + @"/" + subDirectoryInBucket; 
    } 
     request.Key = fileNameInS3; //file name up in S3 
     request.FilePath = localFilePath; //local file name 
     request.Headers.CacheControl = "public"; 
     request.Headers.Expires = DateTime.Now.AddYears(3); 
     request.Headers.ContentEncoding = "gzip"; 
     utility.Upload(request); //commensing the transfer 
    } 

Добавив эту строку в конфигурации фиксированной мой вопрос

RegionEndpoint = Amazon.RegionEndpoint.APSoutheast1 
Смежные вопросы