

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为亚马逊 Redshift 创建并运行亚马逊 DataZone 数据源
<a name="create-redshift-data-source"></a>

在亚马逊中 DataZone，您可以创建亚马逊 Redshift 数据源，以便从亚马逊 Redshift 数据仓库中导入数据库表和视图的技术元数据。要为亚马逊 Redshift 添加亚马逊 DataZone 数据源，源数据仓库必须已经存在于亚马逊 Redshift 中。

创建和运行 Amazon Redshift 数据源时，您可以将源亚马逊 Redshift 数据仓库中的资产添加到您的 DataZone 亚马逊项目的库存中。您可以按设定的时间表或按需运行 Amazon Redshift 数据来源，以创建或更新资产的技术元数据。在数据源运行期间，您可以选择将项目库存资产发布到 Amazon DataZone 目录，从而使所有域用户都能发现这些资产。也可以在编辑库存资产的企业元数据后发布这些资产。域用户可以搜索和发现已发布的资产，并请求订阅这些资产。

**添加 Amazon Redshift 数据来源**

1. 导航至 Amazon DataZone 数据门户 URL，然后使用单点登录 (SSO) 或凭证登录 AWS 。如果您是亚马逊 DataZone 管理员，则可以通过 [https://console.aws.amazon.com/datazon](https://console.aws.amazon.com/datazone) e 导航到亚马逊 DataZone 控制台，使用域名创建 AWS 账户 地登录，然后选择**打开**数据门户。

1. 从顶部导航窗格中选择**选择项目**，然后选择要将数据来源添加到的项目。

1. 导航到项目的**数据**选项卡。

1. 从左侧导航窗格中选择**数据来源**，然后选择**创建数据来源**。

1. 配置以下字段：
   + **名称** – 数据来源名称。
   + **描述** – 数据来源描述。

1. 在**数据来源类型**下，选择 **Amazon Redshift**。

1. 在**选择环境**下，指定要在其中发布 Amazon Redshift 表的环境。

1. 根据您选择的环境，亚马逊 DataZone 将自动直接从环境中应用Amazon Redshift凭证和其他参数，或者允许您选择自己的凭证和其他参数。
   + 如果您选择的环境仅允许通过环境的默认 Amazon Redshift 架构进行发布，则亚马逊 DataZone 将自动应用亚马逊 Redshift 凭证和其他参数，包括亚马逊 Redshift 集群或工作组名称 AWS 、密钥、数据库名称和架构名称。您无法编辑这些自动填充的参数。
   + 如果您选择的环境不允许发布任何数据，则将无法继续创建数据来源。
   + 如果您选择的环境允许从任何架构发布数据，则可以选择使用该环境中的凭证和其他 Amazon Redshift 参数，也可以输入您自己的凭证/参数。

1. 如果您选择使用自己的凭证来创建数据来源，请提供以下详细信息：
   + 在**提供 Amazon Redshift 凭证**下，选择是使用预置的 Amazon Redshift 集群还是 Amazon Redshift Serverless 工作区作为数据来源。
   + 根据您在上述步骤中的选择，从下拉菜单中选择您的 Amazon Redshift 集群或工作空间，然后在 Secr AWS ets Manager 中选择用于身份验证的密钥。可以选择现有密钥或创建新密钥。
   + 为了使现有密钥显示在下拉列表中，请确保您在 Secrets Manager 中的 AWS 密钥包含以下标签（键/值）：
     + AmazonDataZoneProject: <projectID> 
     + AmazonDataZoneDomain: <domainID>

     如果您选择创建新密钥，系统会自动使用上面引用的标签来标记密钥，无需执行任何额外步骤。有关更多信息，请参阅[中存储数据库凭据 AWS Secrets Manager](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-access.html#data-api-secrets)。

     为创建数据源而提供的 AWS 密钥中的 Amazon Redshift 用户必须拥有要发布的表的`SELECT`权限。如果您希望 Amazon DataZone 同时代表您管理订阅（访问权限），则 AWS 密钥中的数据库用户还必须具有以下权限：
     + `CREATE DATASHARE`
     + `ALTER DATASHARE`
     + `DROP DATASHARE`

1. 在**数据选择**下，提供一个 Amazon Redshift 数据库、架构，并输入您的表或视图选择标准。例如，如果您选择**包括**并输入 `*corporate`，则资产将包括所有以 `corporate` 一词结尾的源表。

   可以为单个数据库中的表添加多个包含规则。也可以使用**添加另一个数据库**按钮来添加多个数据库。

1. 选择**下一步**。

1. 对于**发布设置**，选择是否可以在数据目录中立即发现资产。如果您仅将资产添加到库存中，则可以稍后选择订阅条款并将资产发布到企业数据目录。

1. 对于**自动生成企业名称**，请选择是否在从来源发布和更新资产时自动为其生成元数据。

1. （可选）对于**元数据表**单，添加表单以定义在资产导入 Amazon 时收集和保存的元数据 DataZone。有关更多信息，请参阅 [在 Amazon 中创建元数据表单 DataZone](create-metadata-form.md)。

1. 在**运行偏好**中，选择何时运行数据来源。
   + **按时间表运行** – 指定数据来源的运行日期和时间。
   + **按需运行** – 可以手动启动数据来源运行。

1. 选择**下一步**。

1. 检查您的数据来源配置，然后选择**创建**。

**注意**  
创建 Amazon Redshift 数据源时，亚马逊会 DataZone 授予对用于创建数据源的环境的 “只读” 访问权限，以访问数据源中使用的 Amazon Redshift 架构中的所有表。您可在环境的详细信息页面上，在数据来源下监控这些授权的状态。  
使用不同于创建环境的 Amazon Redshift 集群或无服务器工作组时，必须确保将以下 AWS 标签添加到集群或工作组。必须执行此操作才能使环境用户能够在 Amazon Redshift 查询编辑器 V2 中查看授权的数据库：`DataZoneDiscoverable_${domainId}: true`  
对于在 Amazon 当前版本之前创建的环境 DataZone，项目成员将无法在 Amazon Redshift 中查看已授权的表。