Назад | Перейти на главную страницу

Дублирование, не записывающее в уже существующую корзину S3

Я пытаюсь создать резервную копию каталога в уже существующей корзине Amazon S3, используя следующую команду:

duplicity --no-encryption system/ s3+http://MY_BUCKET_NAME/backup

Однако я постоянно получаю следующую ошибку:

S3CreateError: S3CreateError: 409 Conflict
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>BucketAlreadyOwnedByYou</Code><Message>Your previous request to create the named bucket succeeded and you already own it.</Message><BucketName>vacationlabs</BucketName><RequestId>3C1B8C49469E3374</RequestId><HostId>4dU1TKf3Td6R0yvG9MaLKCYvQfwaCpdM8FUcv53aIOh0LeJ6wtVHHduPSTqjDwt0</HostId></Error>
  1. Корзина S3 пуста и НЕ имеет backup каталог
  2. Ковш находится в регионе Сингапур.

Duplicity также поддерживает URL-адреса Amazon S3 в следующем формате:

s3://host/bucket_name[/prefix]

где host это конечная точка S3 для вашего региона, которую вы можете найти в Список конечных точек Amazon.

В вашем случае нужный URL-адрес:

s3://s3-ap-southeast-1.amazonaws.com/MY_BUCKET_NAME/backup

Обратите внимание, что:

  • Duplicity по-прежнему может создавать сегменты только в регионах Standard США и ЕС, что означает, что вам нужно будет вручную создать сегмент (который у вас уже есть).

  • Для регионов, отличных от стандарта США, вы захотите, чтобы Duplicity использовала адресацию корзины субдоменов «нового стиля» Amazon, добавив --s3-use-new-style в командную строку Duplicity.

@mgorven прав, и я постараюсь исправить это как следует. Если вы хотите, чтобы это было исправлено, отметьте себя затронутым и подпишитесь на https://bugs.launchpad.net/duplicity/+bug/1003159

В s3://<region>/<bucket> синтаксис не работает (больше), вы можете только s3+http://<bucket> который использует us-east-1 или eu-west-1, если вы укажете --s3-european-buckets. Вы не можете попасть в другие регионы.

На основе двойная страница руководства, похоже, он поддерживает только регионы S3 США и ЕС. Я предполагаю, что он обращается к конечной точке в США, обнаруживает, что корзина не существует в регионе США, а затем пытается ее создать и терпит неудачу.

Попробуйте создать корзину в регионе США или ЕС и проверьте, работает ли это (используя --s3-european-buckets если уместно). Если это сработает, и вы действительно хотите использовать регион Сингапур, вам придется взломать Duplicity, чтобы поддержать его.