2011-03-13 1 views

답변

4

Amazon S3 API를 사용하면 객체를 하나의 버킷에서 다른 버킷으로 쉽게 복사 할 수 있습니다. 양동이가 다른 지역에 있다는 것은 중요하지 않습니다.

나머지 API을 사용하는 example입니다.

PUT /jetsam HTTP/1.1 
Host: atlantic.s3.amazonaws.com 
x-amz-copy-source: /pacific/flotsam 
Authorization: AWS 15B4D3461F177624206A:ENoSbxYByFA0UGLZUqJN5EUnLDg= 
Date: Wed, 20 Feb 2008 22:12:21 +0000 

또는 당신이 선호하는 경우 SDK를 같은 일을 할 수 있습니다. 여기에 .Net SDK example이 있습니다.

  • 양동이를 다시 이전 버킷
  • 삭제 새로운 버킷

    • 복사 객체 : 당신이 버킷 영역을 변경하려는 것을 의미하는 경우

      static AmazonS3 client; 
      client = Amazon.AWSClientFactory.CreateAmazonS3Client(
              accessKeyID, secretAccessKeyID); 
      
      CopyObjectRequest request = new CopyObjectRequest(); 
      request.SourceBucket = bucketName; 
      request.SourceKey = keyName; 
      request.DestinationBucket = bucketName; 
      request.DestinationKey = destKeyName; 
      S3Response response = client.CopyObject(request); 
      

      , 당신은에있을 것입니다 새 영역에서

    • 개체를 새 버킷에 다시 복사합니다.

    물론 대부분의 S3 GUI 도구도 버킷과 영역간에 개체를 복사 할 수 있습니다.

  • +0

    감사합니다. 그것은 작동합니다. – aviad

    +0

    \t \t s3Client.putObject(targetBucketName, key \t \t \t \t \t \t \t ,s3Client.getObject(sourceBucketName, key).getObjectContent() \t \t \t \t \t \t \t ,s3Client.getObjectMetadata(sourceBucketName, key)); aviad

    +0

    @aviad - 확실하지 않지만 S3에 복사하는 것보다는 새 버킷에 다시 업로드하기 전에 파일을 컴퓨터에 다운로드하는 것처럼 보입니다. 그 자체. –

    관련 문제