S3ServiceException 错误 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

S3ServiceException 错误

最常见的 s3ServiceException 错误由以下原因导致:凭证字符串的格式有误或凭证字符串不正确,将集群和存储桶放在不同的 Amazon 区域中以及 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 Amazon 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 存储桶必须位于集群所在的 Amazon 区域。如果 Amazon S3 存储桶和集群位于不同的区域中,则会收到类似于以下内容的错误:

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

您可以通过以下方式在特定区域中创建 Amazon S3 存储桶:在使用 Amazon S3 管理控制台创建存储桶时选择该区域,或者在使用 Amazon S3 API 或 CLI 创建存储桶时指定端点。有关更多信息,请参阅将文件上载到 Amazon S3

有关 Amazon S3 区域的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的访问存储桶

或者,您也可以在 COPY 命令中使用 REGION 选项以指定区域。

访问被拒绝

凭证标识的用户账户必须拥有对 Amazon S3 存储桶的 LIST 和 GET 访问权限。如果用户没有足够的权限,您将收到以下错误消息:

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

有关管理用户存储桶访问权限的信息,请参阅 Amazon S3 开发人员指南中的访问控制