2016-08-25 71 views
0

我用AWSSDK对于.NET和我的副本文件中的代码是:AWS S3的.Net对象复制该密钥包含在结束点

CopyObjectRequest request = new CopyObjectRequest() 
    { 
    SourceBucket = _bucketName, 
    SourceKey = sourceObjectKey, 
    DestinationBucket = _bucketName, 
    DestinationKey = targetObjectKey 
    }; 

CopyObjectResponse response = amazonS3Client.CopyObject(request); 

代码工作完美正常的文件,但是当我试图复制文件与像文件名“法师......”它得到以下错误信息:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

有没有办法复制的对象为该类型的文件?

回答

1

我使用以下C#代码在S3文件夹之间复制文件。

AmazonS3Config cfg = new AmazonS3Config(); 
cfg.RegionEndpoint = Amazon.RegionEndpoint.EUCentral1;//my bucket has this Region 
string bucketName = "your bucket"; 
AmazonS3Client s3Client = new AmazonS3Client("your access key", "your secret key", cfg); 
S3FileInfo sourceFile = new S3FileInfo(s3Client, bucketName, "FolderNameUniTest179/Test.test.test.pdf"); 
S3DirectoryInfo targetDir = new S3DirectoryInfo(s3Client, bucketName, "Test");   
sourceFile.CopyTo(targetDir); 
S3FileInfo sourceFile2 = new S3FileInfo(s3Client, bucketName, "FolderNameUniTest179/Test...pdf"); 
sourceFile2.CopyTo(targetDir); 

我对.net 3.5使用亚马逊AWSSDK.Core和AWSSDK.S3版本3.1.0.0。我希望它能帮助你。