Я пытаюсь создать резервную копию каталога в уже существующей корзине 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>
backup
каталог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, чтобы поддержать его.