Copy an object


using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using Amazon.S3.Util;

AmazonS3Config S3Config = new AmazonS3Config
{
  ServiceURL = "http://system.example.com"
};

string accessKeyId = "00000000000000";
string secretAccessKey = "000000000000000000000000000000";

AmazonS3Client client = new AmazonS3Client(accessKeyId , secretAccessKey ,S3Config);

// create bucket 1
String bucket1 = "testbucket1";
PutBucketRequest request = new PutBucketRequest();
request.BucketName = bucket1;
client.PutBucket(request);

// create bucket 2
String bucket2 = "testbucket2";
PutBucketRequest request2 = new PutBucketRequest();
Request2.BucketName = bucket2;
client.PutBucket(request2);

// set variables for bucket names and objects
string sourceBucket = bucket1;
string targetBucket = bucket2";
string sourceObjectKey = "test copy";
string targetObjectKey = "test copy";

// simple object put
PutObjectRequest requestPut = new PutObjectRequest()
{
  FilePath = "C://Sites//ibm//Amazon.jpg",
  BucketName = bucket1,
  Key = "test copy"
};

// put object
PutObjectResponse response = client.PutObject(requestPut);

// copy object request
CopyObjectRequest request2 = new CopyObjectRequest
{
  DestinationBucket = targetBucket,
  DestinationKey = targetObjectKey,
  SourceBucket = sourceBucket,
  SourceKey = sourceObjectKey
};

// copy object
CopyObjectResponse response2 = client.CopyObject(request2);