AWS Glue 连接是一个 Data Catalog 对象,用于存储特定数据存储的登录凭证、URI 字符串、虚拟私有云(VPC)信息等。AWS Glue 爬网程序、作业和开发端点使用连接方可访问特定类型的数据存储。您可以将连接用于源和目标,并在多个爬网程序或提取、转换、加载(ETL)作业中重复使用相同的连接。
最新版本的 AWS Glue 连接架构提供了一种统一的方式来跨 AWS 服务和应用程序(例如 AWS Glue、Amazon Athena 和 Amazon SageMaker AI Unified Studio)管理数据连接。
连接器和连接使用概览
连接包含连接到特定数据存储所需的属性。当您创建连接时,它将存储于 AWS Glue Data Catalog 中。选择一个连接器,然后创建基于该连接器的连接。
您可以为 AWS Marketplace 中非本地支持的数据存储订阅连接器,然后在创建连接时使用这些连接器。开发人员还可以创建自己的连接器,您可以在创建连接时使用它们。
注意
在 AWS Glue Studio 中使用自定义或 AWS Marketplace 连接器创建的连接不会在类型设置为 UNKNOWN
的 AWS Glue 控制台中显示。
以下步骤介绍了 AWS Glue Studio 中连接器的总体使用流程。
-
订阅 AWS Marketplace 中的连接器,或者开发自己的连接器并将其上载到 AWS Glue Studio。有关更多信息,请参阅 将连接器添加到 AWS Glue Studio。
-
查看连接器使用信息。您可以在连接器产品页面上的 Usage (使用) 选项卡上找到此类信息。例如,如果您在此适用于 Google BigQuery 的 AWS Glue 连接器
产品页面上单击 Usage (使用) 选项卡,则可以在 Additional Resources (其他资源) 部分查看关于此连接器的使用博客的链接。 -
创建连接。您可以选择要使用的连接器并为连接提供附加信息,例如登录凭证、URI 字符串和 Virtual Private Cloud(VPC)信息。有关更多信息,请参阅 为连接器创建连接。
-
为您的任务创建 IAM 角色。作业代入您在创建它时指定的 IAM 角色的权限。此 IAM 角色必须具有对数据存储进行身份验证、从中提取数据和向其写入数据所需的权限。
-
创建 ETL 任务并配置 ETL 任务的数据源属性。按照自定义连接器提供程序的指示提供连接选项和身份验证信息。有关更多信息,请参阅 使用自定义连接器编写任务。
-
添加转换或其他数据存储以自定义 ETL 任务,如在 AWS Glue Studio 中启动视觉 ETL 作业中所示。
-
如果为数据目标使用连接器,请为 ETL 任务配置数据目标属性。按照自定义连接器提供程序的指示提供连接选项和身份验证信息。有关更多信息,请参阅 使用自定义连接器编写任务。
-
配置任务属性以自定义任务运行环境,如修改任务属性中所示。
-
运行作业。
统一连接
通过统一连接,您可以配置一次数据连接,各种服务可以对数据集成、数据分析和数据科学方面的使用场景重复使用它。您可以通过 AWS Glue 控制台创建数据连接,也可以使用统一数据连接 API 创建自定义构建的应用程序。通过统一连接,您可以使用针对多种服务标准化的连接配置模板设置与数据来源的连接。这些服务(AWS Glue、Amazon SageMaker AI Unified Studio 和 Amazon Athena)可以通过适当的权限配置共享和重复使用相同的连接。
AWS Glue Studio 现在默认创建统一连接。在 AWS Glue 控制台中,您可以在连接页面上的连接表、连接详细信息页面和作业详细信息页面中的连接表中查看连接的版本。
连接版本在“连接详细信息”上可见:
查看所有连接时也可以看到连接版本。
最后,可以在作业的“作业详细信息”选项卡中查看连接版本。
使用版本 2 连接,您可以获得以下扩展的数据连接功能:
-
连接类型发现:支持使用标准化模板创建连接。AWS Glue 自动发现您可以访问的连接类型以及给定连接类型的必需和可选输入。
-
可重复使用性:可在 AWS 数据处理引擎和工具(如 AWS Glue、Amazon Athena 和 Amazon SageMaker AI)中重复使用的连接定义。连接现在包含 AthenaProperties、SparkProperties、PythonProperties,除了存储在 ConnectionProperties 中的通用属性之外,它们还允许指定计算环境/服务特定的连接属性。现在,Athena 通过在 AthenaProperties 属性映射中指定特定于 Athena 的属性来在 AWS Glue 中创建连接。
-
数据预览:能够浏览元数据并预览来自连接的源的数据。
-
连接器元数据:可以使用可重复使用的连接来发现表元数据。
-
服务相关密钥:用户可以在
CreateConnection
请求中提供必要的 OAuth、基本或自定义身份验证凭证。CreateConnection API 会在您的账户中创建一个服务相关密钥并代表您存储凭证。
注意事项
在创建数据来源的统一连接时,请考虑以下区别:
-
通过 AWS Glue Studio 创建统一连接时,用户凭证存储在 AWS Secrets Manager 中,而不是连接本身中。这意味着作业现在需要访问 Secrets Manager。
-
如果任务在 VPC 中运行,则需要 VPC 端点或 NAT 网关才能访问 AWS Secrets Manager 和 Secure Token Service(STS),这会产生额外费用。
-
对于某些数据来源(Redshift、SQL Server、MySQL、Oracle、PostgreSQL),通过 AWS Glue Studio 创建统一连接需要访问 AWS STS 和 AWS Secrets Manager。对于建立安全连接和检索访问虚拟私有云(VPC)内的这些数据来源所需的凭证而言,此操作必不可少。
-
通过 AWS Glue Studio 创建统一连接需要具有访问 AWS Secrets Manager 和管理 VPC 资源权限的 IAM 角色(如果使用 VPC):
secretsmanager:GetSecretValue
secretsmanager:PutSecretValue
secretsmanager:DescribeSecret
ec2:CreateNetworkInterface
ec2:DeleteNetworkInterface
ec2:DescribeNetworkInterfaces