S3 ServiceException 錯誤 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

S3 ServiceException 錯誤

最常見的 s3 ServiceException 錯誤是由於格式不正確或不正確的登入資料字串、叢集和儲存貯體位於不同 AWS 區域,以及 Amazon S3 許可不足所造成。

本節提供每個類型的錯誤的故障診斷資訊。

無效的登入資料字串

如果您的登入資料字串的格式不正確,您會收到下列錯誤訊息:

ERROR: Invalid credentials. Must be of the format: credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key> [;token=<temporary-session-token>]'

驗證登入資料字串不包含任何空格或換行符號,並且以單引號括住。

無效的存取金鑰 ID

如果您的存取金鑰 ID 不存在,您會收到下列錯誤訊息:

[Amazon](500310) Invalid operation: S3ServiceException:The AWS Access Key Id you provided does not exist in our records.

這通常是複製和貼上錯誤。驗證已正確輸入存取金鑰 ID。另外,如果您使用的是暫時工作階段金鑰,請檢查 token 的值是否已經設定。

無效的私密存取金鑰

如果您的私密存取金鑰不正確,您會收到下列錯誤訊息:

[Amazon](500310) Invalid operation: S3ServiceException:The request signature we calculated does not match the signature you provided. Check your key and signing method.,Status 403,Error SignatureDoesNotMatch

這通常是複製和貼上錯誤。驗證已正確輸入私密存取金鑰,並且它是存取金鑰 ID 的正確金鑰。

儲存貯體位於不同區域

COPY 命令中指定的 Amazon S3 儲存貯體必須與叢集位於相同的 AWS 區域。如果您的 Amazon S3 儲存貯體和您的叢集位於不同的區域,您會收到類似以下的錯誤:

ERROR: S3ServiceException:The bucket you are attempting to access must be addressed using the specified endpoint.

透過在建立儲存貯體時使用 Amazon S3 管理主控台選取區域,或是在建立儲存貯體時使用 Amazon S3 API 或 CLI 來指定端點,即可以在特定區域中建立 Amazon S3 儲存貯體。如需詳細資訊,請參閱 將檔案上傳到 Amazon S3

如需 Amazon S3 區域的相關資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的存取儲存貯體

或者,您可以使用 REGION 選項搭配 COPY 命令來指定區域。

存取遭拒

如果使用者沒有足夠的許可,您會收到下列錯誤訊息:

ERROR: S3ServiceException:Access Denied,Status 403,Error AccessDenied

其中一個可能的原因是憑證所識別的使用者沒有 Amazon S3 儲存貯體的 LIST 和 GET 存取權。如需其他原因的資訊,請參閱《Amazon S imple Storage Service 使用者指南》中的針對 Amazon S3 中的拒絕存取 (403 禁止) 錯誤進行疑難排解

若要了解如何管理儲存貯體的使用者存取權,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 中的 Identity and Access Management