

# 创建和管理集成
<a name="zero-etl-creating-managing"></a>



## 创建集成
<a name="zero-etl-creating"></a>

本节介绍创建集成的一般步骤。此示例使用 Amazon DynamoDB 作为来源。

1. 在 AWS Glue 控制台主页上，选择**零 ETL 集成**。

1. 您可以在“零 ETL 集成”主页上查看所有集成。要创建新的集成，请选择**创建零 ETL 集成**。  
![屏幕截图显示主零 ETL 集成页面。](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/zero-etl-main.png)

1. 系统会提示您选择一种**源类型**。选择您的源，然后单击**下一步**。请参阅 SaaS 集成源的源配置部分。

1. 在**配置源和目标**页中，选择要复制的表或实体。对于 Amazon DynamoDB，确保已配置 PITR 和 RBAC 策略。

1. 指定您的集成目标：
   + 对于 AWS Glue Data Catalog 目标，选择要将数据复制到的 AWS Glue 数据库。
   + 对于 Amazon Redshift 数据仓库目标，请选择 Redshift 集群命名空间或 Redshift Serverless 工作组命名空间。

   有关更多信息，请参阅 [配置与目标的集成](zero-etl-target.md#zero-etl-config-target-configuring-the-integration)。

1. 提供您在先决条件中创建的**目标 IAM 角色**。

1. 如果您想要为存储在目标中的数据配置可选的**目标 KMS 密钥**，请提供已启用的 KMS 密钥。同样，如果想要配置目标网络连接，请选择一个 AWS Glue 连接。

1. **修复目标**按钮配置本文档的“先决条件”部分中的一些步骤。也就是说，它将 1) 提供目录 RBAC 策略；2) 如果未提供 Amazon S3 URI，它将为您生成一个，否则将使用提供的 URI。

1. 在**配置源和目标**页面的**输出设置**部分中，为目标中的数据选择所需的架构取消嵌套选项。如果您想要对数据使用客户分区键，请选择**指定自定义分区键**并提供最多 10 个键。否则，您可以简单地使用分配给正在复制的 DynamoDB 表的分区键。

1. 在**安全和数据加密**部分，您可以提供一个在将您的数据复制到目标过程中使用的 KMS 密钥。否则，将使用 AWS 托管 KMS 密钥。在**集成详细信息**中输入零 ETL 集成的名称。

1. 检查并确保提供的所有详细信息均正确。确认一切内容后，单击**创建并启动集成**。

1. 在零 ETL 主页中，您可以选择您创建的集成，然后将显示您的集成的详细信息。“状态”指示您的集成的状态。

## 修改集成
<a name="zero-etl-modifying"></a>

您可以修改现有的集成。

1. 选择集成详细信息页面右上角的**编辑**。

1. 在**编辑源和目标**页面上，您可以更改目标 IAM 角色和目标网络连接。集成创建后，其他字段不可编辑。单击**下一步**。

1. 您也可以在**编辑集成和配置**页面中编辑集成的名称和描述。单击**下一步**。

1. 检查您所做的编辑并确认后，请单击**更新集成**。

## 删除集成
<a name="zero-etl-deleting"></a>

删除是集成的最终状态。一旦删除，集成将无法恢复。删除集成会清除所有内部元数据和任何中间存储的数据。

在此过程中，任何正在将数据写入目标表的正在运行的任务都将终止。AWS Glue 不会删除或清除目标 AWS Glue 数据库（在 Data Catalog 中）以及您账户中的 Amazon S3 存储桶中的关联数据。如果需要，您需要明确清除它们。

要删除集成，请执行下面的操作：

1. 在集成详细信息页中，单击**删除**。

1. 输入“删除”，然后单击**删除**。注意：此操作不可逆。

1. 在集成详细信息页中，状态显示“正在删除”。当集成实际删除后，它将不再会在“零 ETL 集成”主页上出现。

## 集成状态
<a name="zero-etl-integration-states"></a>

集成从创建到删除过程中会经历若干状态：
+ `CREATING`：这是启动集成创建时所处的第一个状态。在此状态下，AWS Glue 会进行初始化。除非缺少某些配置，否则此状态应会很快变为 CREATED 状态。
+ `ACTIVE`：集成达到此状态后，AWS Glue 将开始数据传输（初始满载）。除非存在权限问题，否则在初始满载完成后，将会开始定期捕获更改数据。
+ `MODIFYING`：对集成进行修改后，集成将进入 Modifying 状态。应用修改后，如果在修改后成功集成，则集成将变为 `ACTIVE` 状态，如果存在任何问题，则集成将变为 `NEEDS_ATTENTION` 或者 `FAILED` 状态。
+ `NEEDS_ATTENTION`：如果出现用户错误或系统错误，集成将进入此状态。用户错误包括缺少权限、缺少源资源或目标资源、不支持的数据错误等。系统错误包括内部系统错误。对于这两种错误类型，AWS Glue 零 ETL 将持续重试数据同步 7 天，然后才会将集成标记为 FAILED。如果您在此之前修复了问题，则集成将再次变为 ACTIVE 状态并开始传输数据。
+ `SYNCING`：如果 AWS Glue 零 ETL 检测到表列/表传入的架构有任何数据类型更改，则集成将进入此状态。在这种情况下，AWS Glue 零 ETL 将为所有此类表请求全新的快照集。在此期间，集成将处于 SYNCING 状态，并将在新请求的快照可供摄取后最终转换为 ACTIVE 状态。
+ `FAILED`：这是一种不可恢复的状态。集成进入此状态后，将无法恢复集成。要重新开始将数据从源传输到目标，唯一的方法是删除并重新创建集成。如果 AWS Glue 零 ETL 发现用户错误或系统错误未在 7 天内修复，并且所有重试机会均已用尽，则 AWS Glue 零 ETL会将集成标记为 FAILED。
+ `DELETING`：调用 delete-integration API 后，AWS Glue 会首先将集成移至 DELETING 状态。清除所有元数据并终止内部处理后，AWS Glue 会将集成移至 DELETED 状态。
+ `DELETED`：这是集成的终端状态。无法将集成从此状态移至任何其他状态。如果需要将数据从同一源传输到目标，则应重新创建集成。