Можно ли программно перенести файлы, хранящиеся на Amazon S3, из одного региона в другой? - PullRequest
5 голосов
/ 13 марта 2011

Кто-нибудь знает, возможно ли программно передавать файлы, хранящиеся на amazon s3, из одного региона в другой?

1 Ответ

4 голосов
/ 14 марта 2011

Это легко сделать с помощью 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 также могут копировать объекты между сегментами и областями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...