簡體   English   中英

AWS s3同步工作是否需要最小尺寸?

[英]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 cpaws 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/*" } ] } 
    • 我以newaccountid的身份運行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM