

 从补丁 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 Redshift 中创建目标数据库
<a name="zero-etl-using.creating-db"></a>

要将数据从您的源复制到 Amazon Redshift，您必须通过与 Amazon Redshift 的集成创建数据库。

连接到您的目标 Redshift Serverless 工作组或预置集群，并创建一个引用您的集成标识符的数据库。此标识符是您查询 [SVV\$1INTEGRATION](https://docs.amazonaws.cn/redshift/latest/dg/r_SVV_INTEGRATION.html) 视图时为 `integration_id` 返回的值。

**重要**  
在通过集成创建数据库之前，您必须在 Amazon Redshift 控制台上创建了零 ETL 集成，并且其状态必须为 `Active`。

您必须通过与 Amazon Redshift 的集成创建数据库，然后才能开始将数据从源复制到 Amazon Redshift。您可以使用 Amazon Redshift 控制台或查询编辑器 v2 创建数据库。

------
#### [ Amazon Redshift console ]

1. 在左侧导航窗格中，选择**零 ETL 集成**。

1. 从集成列表中选择一个集成。

1. 如果您使用的是预置集群，则必须先连接到数据库。选择**连接到数据库**。您可以使用最近的连接进行连接，也可以通过创建新连接进行连接。

1. 要从集成创建数据库，请选择**从集成创建数据库**。

1. 输入**目标数据库名称**。**集成 ID** 和**数据仓库名称**已预先填入。

   对于 Aurora PostgreSQL、RDS for PostgreSQL 或 RDS for Oracle 源，输入您在创建零 ETL 集成时指定的**源命名数据库**。在这些情况下，最多可以将 100 个源数据库映射到 Amazon Redshift 数据库。

1. 选择**创建数据库**。

------
#### [ Amazon Redshift query editor v2 ]

1. 导航到 Amazon Redshift 控制台并选择**查询编辑器 v2**。

1. 在左侧面板中，选择您的 Amazon Redshift Serverless 工作组或 Amazon Redshift 预置集群并进行连接。

1. 要获取集成 ID，请在 Amazon Redshift 控制台上导航到集成列表。

   或者，运行以下命令来获取 `integration_id` 值：

   ```
   SELECT integration_id FROM SVV_INTEGRATION;
   ```

1. 然后，运行以下命令创建数据库。通过指定集成 ID，您可以在数据库和源之间创建连接。

   用上一个命令返回的值替换 `integration_id`。

   ```
   CREATE DATABASE destination_db_name FROM INTEGRATION 'integration_id';
   ```

   对于 Aurora PostgreSQL 源，您还必须引用在创建集成时，在集群中指定的命名数据库。例如：

   ```
   CREATE DATABASE "destination_db_name" FROM INTEGRATION 'integration_id' DATABASE "named_db";
   ```

------

有关为零 ETL 集成目标创建数据库的更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [CREATE DATABASE](https://docs.amazonaws.cn/redshift/latest/dg/r_CREATE_DATABASE.html)。您可以使用 ALTER DATBASE 更改 REFRESH INTERVAL 等数据库参数。有关为零 ETL 集成目标更改数据库的更多信息，请参阅《Amazon Redshift 数据库开发人员指南》**中的 [ALTER DATABASE](https://docs.amazonaws.cn/redshift/latest/dg/r_ALTER_DATABASE.html)。

**注意**  
只有您的集成源才能更新您通过集成创建的数据库中的数据。要更改表的架构，请对源中的表运行 DDL 或 DML 命令。您可以对源中的表运行 DDL 和 DML 命令，但在目标数据库上只能运行 DDL 命令和只读查询。

有关查看目标数据库状态的信息，请参阅[查看零 ETL 集成](zero-etl-using.describing.md)。

创建目标数据库后，您可以将数据添加到源中。要将数据添加到源中，请参阅以下主题之一：
+ 对于 Aurora 源，请参阅《Amazon Aurora 用户指南》**中的[向源数据库集群添加数据](https://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/zero-etl.querying.html#zero-etl.add-data-rds)。
+ 对于 Amazon RDS 源，请参阅**《Amazon RDS User Guide》中的 [Add data to the source DB instance](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/zero-etl.querying.html#zero-etl.add-data-rds)。
+ 对于 DynamoDB 源，请参阅《Amazon DynamoDB 开发人员指南》**中的 [DynamoDB 入门](https://docs.amazonaws.cn/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html)。
+ 有关与应用程序源的零 ETL 集成，请参阅《Amazon Glue 开发人员指南》**中的[零 ETL 集成](https://docs.amazonaws.cn/glue/latest/dg/zero-etl-using.html)。