View a markdown version of this page

REST API 连接 - AWS Glue

REST API 连接

AWS Glue 连接器涵盖了 AWS 和外部的各种数据来源。但是,可能存在一些原生 AWS Glue 连接器不支持的专有系统或新兴平台。AWS Glue REST 连接器提供了一种机制来为任何具有基于 REST 的 API 的数据来源配置自定义连接器,其工作方式与原生支持的 AWS Glue 连接器相同。此功能最大限度地减少了构建自定义库或 ETL 脚本来访问这些数据来源的需求。

为了启用 REST API 连接器,引入AWS Glue了一个新AWS资源—— 连接类型。下面的操作可用于管理与基于 REST API 的数据来源的连接:

  • RegisterConnectionType:根据提供的配置在 AWS Glue 中注册连接类型。有关请求结构,请参阅 RegisterConnectionType

  • DeleteConnectionType:删除 AWS Glue 中的连接类型配置。请参阅 DeleteConnectionType

  • DescribeConnectionType:提供 AWS Glue 中给定连接类型支持的选项的完整详细信息。请参阅 DescribeConnectionType

  • ListConnectionTypes:返回连接类型列表以及每种 AWS Glue 连接类型支持的内容的高级详细信息。请参阅 ListConnectionTypes

在 AWS Glue 中创建 REST 连接类型

要创建 REST 连接类型,请使用 AWS CLI、AWS SDK 或 AWS API 调用 RegisterConnectionType API。配置详细信息是基于所连接的 REST API 提供的。

注意

无法使用 AWS Glue 控制台创建 REST 连接

先决条件

在尝试配置 AWS Glue REST API 连接器之前,您需要熟悉 REST API 的内部工作方式。如果您拥有数据来源的 REST API 文档以及用于检查请求/响应结构的工具,将会很有帮助。

应确定 REST API 的下列属性:

  • 用于对 REST 端点发出的调用的身份验证机制。AWS GlueREST API 连接器支持:基本身份验证、OAuth2 - ClientCredentials、OAuth2 - 授权码、OAuth2 - JWT 和自定义身份验证

  • 可通过 REST 端点传输的实体(数据对象)和相关元数据(如字段名称和数据类型)。

  • HTTP 请求和响应结构。此结构包括 HTTP 方法、端点 URL、标头、查询参数以及请求正文和响应有效载荷的格式。

  • 分页架构。AWS GlueREST API 连接器支持两种分页架构:cursor-basedoffset-based 分页。

RegisterConnectionType

根据提供的配置在 AWS Glue 中注册 ConnectionType。ConnectionType 资源是一种新的 AWS Glue 资源,用于存储有关数据来源如何解释请求和响应的详细信息。目前仅支持 REST 协议。它封装了有关 REST API 源的详细信息,例如:

  • 连接属性:定义连接到 REST API 的 BaseUrl 以及在 AWS Glue CreateConnection 期间进行输入所需的任何其他请求参数。

  • 身份验证配置:定义如何对 REST API 请求进行身份验证。在为连接类型创建 AWS Glue 连接时,将使用此配置。

  • REST 配置:定义用于从 REST API 源读取数据的 HTTP 请求和响应配置。需要在全局实体级别配置下面的属性:

    • 请求方法:定义 REST HTTP 方法。

    • 响应配置:定义应如何解释 API 响应(包括正文中的记录或错误位置)。

    • 分页配置:定义 REST API 用于对结果记录进行分页的策略以及如何发送/检索分页属性。

    • 验证端点配置:定义验证 AWS Glue 连接时要调用的端点。

    • 实体配置:定义连接器支持的 REST 实体及其架构。

RegisterConnectionType 请求语法

请参阅 RegisterConnectionType

注册 REST API 连接类型后,即可用于创建与已配置数据来源的连接。有关详细说明,请参阅连接到 REST API