Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

S3ServiceException 错误

最常见的 s3ServiceException 错误由以下原因导致:凭证字符串的格式有误或凭证字符串不正确,将集群和存储桶放在不同的区域中以及 Amazon S3 权限不足。

本节提供了每种类型的错误的排查信息。

凭证字符串无效

如果凭证字符串的格式不正确,您将收到以下错误消息:

Copy
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 不存在,您将收到以下错误消息:

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

这通常是复制和粘贴错误。请验证是否正确输入了访问密钥 ID。

秘密访问密钥无效

如果您的秘密访问密钥不正确,您将收到以下错误消息:

Copy
[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 S3 存储桶和集群位于不同的区域,您将收到与下面类似的错误消息:

Copy
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 访问权限。如果用户没有足够的权限,您将收到以下错误消息:

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

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