Это легко сделать с помощью API Amazon S3 для копирования объекта из одного сегмента в другой. Неважно, что ведра находятся в разных регионах.
Вот пример с использованием Rest API .
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 .
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 также могут копировать объекты между сегментами и областями.