

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

# 从 Amazon S3 中加载加密的数据文件
<a name="c_loading-encrypted-files"></a>

您可以使用 COPY 命令加载使用服务器端加密、客户端加密或两种加密方式上载到 Amazon S3 的数据文件。

COPY 命令支持以下 Amazon S3 加密方式：
+ 使用 Amazon S3 托管密钥进行服务器端加密 (SSE-S3)
+ 使用 Amazon KMS keys 的服务器端加密 (SSE-KMS)
+ 使用客户端对称根密钥进行客户端加密

COPY 命令不支持以下 Amazon S3 加密方式：
+ 使用客户提供的密钥进行服务器端加密 (SSE-C)
+ 使用 Amazon KMS key 进行客户端加密
+ 使用客户提供的对称根密钥进行客户端加密

有关 Amazon S3 加密的更多信息，请参阅《Amazon Simple Storage Service 用户指南》中的[使用服务器端加密保护数据](https://docs.amazonaws.cn/AmazonS3/latest/userguide/serv-side-encryption.html)和[使用客户端加密保护数据](https://docs.amazonaws.cn/AmazonS3/latest/userguide/UsingClientSideEncryption.html)。

[UNLOAD](r_UNLOAD.md) 命令使用 SSE-S3 自动加密文件。您还可以使用 SSE-KMS 或客户托管式对称密钥进行客户端加密的方法进行卸载。有关更多信息，请参阅 [卸载加密的数据文件](t_unloading_encrypted_files.md)。

COPY 命令会自动识别并加载使用 SSE-S3 和 SSE-KMS 进行加密的文件。您可以指定 ENCRYPTED 选项并提供密钥值，加载使用客户端对称根密钥加密的文件。有关更多信息，请参阅 [将加密的数据上载到 Amazon S3](t_uploading-encrypted-data.md)。

要加载客户端加密数据文件，请使用 MASTER\_SYMMETRIC\_KEY 参数提供根密钥值，并包括 ENCRYPTED 选项。

```
COPY customer FROM 's3://amzn-s3-demo-bucket/encrypted/customer' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
MASTER_SYMMETRIC_KEY '{{<root_key>}}' 
ENCRYPTED
DELIMITER '|';
```

要加载 gzip、lzop 或 bzip2 压缩的加密数据文件，请随根密钥值和 ENCRYPTED 选项包括 GZIP、LZOP 或 BZIP2 选项。

```
COPY customer FROM 's3://amzn-s3-demo-bucket/encrypted/customer' 
IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
MASTER_SYMMETRIC_KEY '{{<root_key>}}'
ENCRYPTED 
DELIMITER '|' 
GZIP;
```