

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# S3ServiceException 错误
<a name="s3serviceexception-error"></a>

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

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

## 凭证字符串无效
<a name="invalid-credentials-string-error"></a>

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

```
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 无效
<a name="invalid-access-key-id-error"></a>

如果您的访问密钥 ID 不存在，您将收到以下错误消息：

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

这通常是复制和粘贴错误。请验证是否正确输入了访问密钥 ID。此外，如果您使用的是临时会话密钥，请检查是否已设置 `token` 的值。

## 秘密访问密钥无效
<a name="invalid-secret-access-key-error"></a>

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

```
[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 对应的正确密钥。

## 桶位于不同的区域
<a name="bucket-in-different-region"></a>

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 管理控制台创建桶时选择该区域，或者在使用 Amazon S3 API 或 CLI 创建桶时指定端点。有关更多信息，请参阅 [将文件上传到 Amazon S3 以与 COPY 结合使用](t_uploading-data-to-S3.md)。

有关 Amazon S3 区域的更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[访问桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html#access-bucket-intro)。

或者，您也可以在 COPY 命令中使用 [REGION](copy-parameters-data-source-s3.md#copy-region) 选项以指定区域。

## 访问被拒绝
<a name="s3-access-denied-error"></a>

如果用户没有足够的权限，您将收到以下错误消息：

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

一个可能的原因是，凭证标识的用户没有对 Amazon S3 桶的 LIST 和 GET 访问权限。有关其他原因，请参阅《Amazon Simple Storage Service 用户指南》**中的[排查 Amazon S3 中的拒绝访问（403 禁止）错误](https://docs.aws.amazon.com/AmazonS3/latest/userguide/troubleshoot-403-errors.html)。

有关管理用户对桶的访问权限的信息，请参阅《Amazon Simple Storage Service 用户指南》**中的 [Amazon S3 中的身份和访问管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)。