[英]Is there a minimum size for aws s3 sync to work?
我需要將內容從到目前為止一直使用的S3存儲桶(src-bucket)移到新的AWS賬戶(dst-bucket)中的新S3存儲桶。 據我所知,直接的方法是
aws s3 sync s3://src-bucket s3://dst-bucket --exclude "*" --include="important_prefix*"
但這只能起作用。 對於對象的子集,我不斷收到錯誤消息
An error occurred (AccessDenied) when calling the CopyObject operation: Access Denied
我找不到原因。
到目前為止,我可以說所有無法同步的文件都非常小(小於700kb),而成功復制的文件每個都至少有幾個MB。
在s3 sync
執行其工作之前,是否必須滿足一些最小對象大小(具有相對較高的默認值)?
更多信息
aws s3 cp
和aws s3api get-object
有問題的對象。 他們只是因為aws s3 sync
失敗。 S3FullAccess
權限的用戶 我在src-bucket中添加了以下存儲桶策略
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::newaccountid:user/myadminuser" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::src-bucket" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::newaccountid:user/myadminuser" }, "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::src-bucket/*" } ] }
aws s3 sync
:user / myadminuser 我可以從新帳戶中與用戶一起瀏覽src-bucket
,也可以上傳和下載文件。 運行最初提到的aws s3 sync
命令將幾百個對象從src-bucket
復制到dst-bucket
,但對於其他一些對象對象則失敗。
我嘗試將無法同步的對象與能夠成功同步的對象進行比較。 我對src-bucket
許多對象做了aws s3api get-object-acl
。 對於成功復制的ACL和復制失敗的ACL,它們的ACL看起來都一樣:
{
"Owner": {
"ID": "reallylongidihadbashcomparethemformetomakesuretheyareidentical"
},
"Grants": [
{
"Grantee": {
"Type": "CanonicalUser",
"ID": "reallylongidihadbashcomparethemformetomakesuretheyareidentical"
},
"Permission": "FULL_CONTROL"
}
]
}
在dst-bucket
,真正的長ID是一個不同的ID,但除此之外,ACL看起來相同。
不,沒有這樣的事情。 我把錯誤的事情聯系起來。 顯然, s3 sync
“取決於”能夠復制對象的標簽及其數據。 讀取對象的標簽是與讀取對象數據不同的特權。 向新用戶授予權限時,我缺少s3:GetObjectTagging
操作。
顯然,“他們”在開始使用對象標簽的同時就開始將數據拆分成更小的塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.