я использую awscli
для синхронизации 2 ведер (одна и та же учетная запись):
aws s3 sync --only-show-errors s3://bucket-1 s3://bucket-2
но для некоторых файлов я получаю ошибки разрешения:
copy failed: s3://bucket-1/dirname/file.flac to s3://bucket-2/dirname/file.flac An error occurred (AccessDenied) when calling the UploadPartCopy operation: Access Denied
(в некоторых случаях неудачная операция CopyObject
)
это только кажется .flac
файлы. все остальные файлы .mp3
s, поэтому единственная разница, которую я могу придумать, - это размер файла.
поскольку я использую для этого пользователя с полными разрешениями s3, я не понимаю, почему это происходит (или как это можно исправить).
Может быть, объект принадлежит другой учетной записи?
Это может произойти, когда корзина в учетной записи AWS AAA доступна для записи учетной записи AWS BBB, например через BucketPolicy, но автор (BBB) не указал --acl bucket-owner-full-control
разрешение при загрузке.
Проверьте ACL объекта, используя:
aws s3api get-object-acl --bucket bucket-1 --key dirname/file.flac
Аналогично для пункта назначения - если существующий объект принадлежит другой учетной записи, вы не сможете его перезаписать. Поэтому UploadPartCopy
потерпит неудачу.
Надеюсь, это поможет.