AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
如何對 Amazon S3 Batch Operations 問題進行疑難排解?
當我為儲存貯體中的物件建立 Amazon Simple Storage Service (Amazon S3) Batch Operations 作業時,Amazon S3 傳回錯誤。或者,Amazon S3 Batch Operations 作業失敗。
解決方法
若要追蹤作業失敗,請要求作業的詳細資訊或完成報告。確定原因並解決問題後,請重新提交 S3 Batch Operations 作業。
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
資訊清單 .csv 或 .json 檔案格式不正確
S3 Batch Operations 支援 .csv 和 .json 庫存資訊清單檔案。如果您沒有正確格式化資訊清單檔案,那麼您必須在 Amazon S3 中建立新的批次作業,並指定正確的格式。
指定資訊清單時,請執行下列動作:
- 對於 Amazon S3 庫存清單報告,請使用 .csv 格式的報告,並指定與庫存清單報告相關聯的 manifest.json 檔案。
- 對於 .csv 檔案,請在資訊清單檔案的每一列中,加入儲存貯體名稱和物件金鑰。您也可以加入物件版本。如果您在資訊清單檔案中加入版本 ID,則必須為所有物件指定 ID。
**注意:**您必須對物件金鑰進行 URL 編碼。 - 如果物件位於版本控制儲存貯體中,則必須為物件指定版本 ID。否則,批次作業將會失敗。或者,Amazon S3 可能會將批次作業套用至不正確的物件版本。
資訊清單檔案會指定多個儲存貯體名稱,或包含多個標題列
如果資訊清單檔案列出的所有物件不在同一個儲存貯體中,那麼您會收到以下錯誤訊息:
「失敗的原因: Cannot have more than 1 bucket per Job.JOB_ID」
請確認您的資訊清單檔案僅指定一個儲存貯體名稱,且不包含標題列。
包含多個標題列的資訊清單檔案範例:
bucket,keymy-batch-bucket,object001.txt my-batch-bucket,object002.txt my-batch-bucket,object003.txt my-batch-bucket,object004.txt
IAM 角色沒有讀取資訊清單檔案的權限
如果 AWS Identity and Access Management (IAM) 角色沒有讀取資訊清單的權限,您會收到下列其中一個錯誤:
來自 AWS CLI 的「失敗原因:禁止讀取資訊清單: AccessDenied」。
- 或 -
來自 Amazon S3 主控台的「警告: 無法取得資訊清單物件的 ETag。請指定其他物件以繼續」。
建立 S3 Batch Operations 作業的 IAM 角色必須具有資訊清單檔案的 GetObject 讀取權限。檢查物件的中繼資料,查看是否有存取權與 S3 物件擁有權不相符。另外,請檢查是否有使用不支援的 AWS Key Management Service (AWS KMS) 金鑰加密資訊清單檔案。
**注意:**S3 Batch Operations 支援使用 AWS KMS 加密的 .csv 庫存清單報告。S3 Batch Operations 不支援使用 AWS KMS 加密的 .csv 資訊清單檔案。如需更多資訊,請參閱使用 Amazon S3 主控台設定庫存。
批次作業位於不同的區域
S3 Batch Operations 複製作業必須與目標儲存貯體位於相同 AWS 區域。例如,如果目標儲存貯體位於 us-west-2 區域,請在建立批次作業時,在「區域」選擇 us-west-2。
您的 S3 庫存清單報告缺少目標儲存貯體
S3 Batch Operations 產生的清單檔案必須擁有目標儲存貯體。Amazon S3 儲存貯體政策也必須允許 s3:PutObject 動作。如果該作業將報告傳送至另一個 AWS 帳戶,請確認目標儲存貯體允許 IAM 角色執行 s3:PutObject 動作。
缺少 IAM 角色的信任政策
IAM 角色的信任政策定義了其他主體承擔該角色所需的條件。若要允許 S3 Batch Operations 主體承擔 IAM 角色,請將信任政策附加到該角色。
政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "batchoperations.s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
**注意:**請務必指定 IAM 角色,而非 IAM 使用者。
IAM 角色缺少建立批次作業的權限
若要建立 S3 Batch Operations 作業,請授予 IAM 角色 s3:CreateJob 權限。建立作業的實體也必須具有 iam:PassRole 權限,才能傳遞您為批次作業指定的 IAM 角色。如需詳細資訊,請參閱 IAM JSON 政策元素: 資源。
IAM 角色缺少執行批次作業的權限
請確定您授予 IAM 角色正確的權限,以在批次作業中執行特定作業。
具有複製作業必要權限的 IAM 政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::{{DestinationBucket}}/*" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::{{SourceBucket}}", "arn:aws:s3:::{{SourceBucket}}/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::{{ManifestBucket}}/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::{{ReportBucket}}/*" ] } ] }
AWS Organizations SCP 拒絕存取
如果您使用 Organizations,請確認服務控制政策 (SCP) 中沒有拒絕存取 Amazon S3 的 Deny 陳述式。否則在建立批次作業時,您可能會收到 Access Denied 錯誤。
明確拒絕所有 S3 動作的 SCP 範例:
{ "Version": "2012-10-17", "Statement": [ { "Principal": "*", "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }
若要套用限制性政策,請將 S3 Batch Operations 承擔的 IAM 角色新增至允許清單。
限制性政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Principal": "*", "Effect": "Deny", "Action": "s3:*", "Resource": "*", "Condition": { "StringNotLike": { "aws:userId": [ "AROAEXAMPLEID:*", "AIDAEXAMPLEID", "111111111111" ] } } } ] }
資訊清單中缺少物件的版本 ID
如果 S3 Batch Operations 作業在資訊清單中找到版本 ID 欄位空白的物件,則您會收到下列錯誤:
「Error: BUCKET_NAME,prefix/file_name,failed,400,InvalidRequest,Task failed due to missing VersionId」
如果資訊清單格式在作業過程中使用版本 ID,則版本 ID 欄位不能為空白字串。反之,版本 ID 欄位必須是 Null 字串。若要解決此問題,請將空白版本 ID 轉換為 Null 字串。
**注意:**S3 Batch Operations 僅對指定物件失敗,而不是整個作業失敗。
由於您使用物件鎖定保留,Amazon S3 未提供作業報告
如果您在治理模式或合規模式下,在目的地儲存貯體上設定 S3 物件鎖定保留,那麼您會收到下列錯誤:
「Error: Reasons for failure.無法將作業報告寫入您的儲存貯體。請檢查您的權限。」
Amazon S3 不支援具有保留模式組態的目的地儲存貯體使用物件鎖定。當您設定保留模式時,儲存貯體將受到單寫多讀 (WORM) 保護。若要解決此問題,請選擇沒有物件鎖定保留的目的地儲存貯體。
**注意:**失敗的只是完成報告,而非作業。作業成功完成,且所有物件均已處理。
ETag 版本不相符
如果 Amazon S3 主控台或 AWS CLI 上的 ETag 值與儲存貯體中的 Etag 不相符,您會收到下列錯誤:
「讀取資訊清單時發生錯誤。Caused by: ETag mismatch.Expected ETag: 69f52a4e9f797e987155d9c8f5880897」
當您在 S3 Batch Operations 作業中選取資訊清單時,您可以指定資訊清單物件金鑰、ETag 和選用的版本 ID。請確定 ETag 值與 S3 儲存貯體中,資訊清單物件最新版本的 ETag 相符。在 Amazon S3 主控台的 Batch Operations 索引標籤上,檢查資訊清單檔案屬性中的資訊清單物件 ETag。在 AWS CLI 中,檢查資訊清單規格傳遞的 ETag 的值。
**注意:**如果您將 S3 Batch Operations 作業建立為現有作業的複本,請在複製的資訊清單中更新 ETag。
HTTP 500 和 503 錯誤
如果 Amazon S3 無法處理請求,則您會收到 500 Internal Error 狀態碼。如果 對 S3 儲存貯體的請求數量較多,那麼您會收到 503 Slow Down 狀態碼。若要解決這些問題,請參閱如何對 Amazon S3 的 HTTP 500 或 503 錯誤進行疑難排解?
**注意:**最佳實務是在向 Amazon S3 發出請求的應用程式中,建立重試邏輯。
相關內容
- 已提問 2 年前
- 已提問 6 個月前
- 已提問 1 年前
- 已提問 1 年前
AWS 官方已更新 8 個月前