

# REST API 连接
<a name="rest-api-connections"></a>

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

 为了启用 REST API 连接器，引入AWS Glue了一个新AWS资源—— **连接类型**。下面的操作可用于管理与基于 REST API 的数据来源的连接：
+  **RegisterConnectionType**：根据提供的配置在 AWS Glue 中注册连接类型。有关请求结构，请参阅 [RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_RegisterConnectionType.html)。
+  **DeleteConnectionType**：删除 AWS Glue 中的连接类型配置。请参阅 [DeleteConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DeleteConnectionType.html)。
+  **DescribeConnectionType**：提供 AWS Glue 中给定连接类型支持的选项的完整详细信息。请参阅 [DescribeConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_DescribeConnectionType.html)。
+  **ListConnectionTypes**：返回连接类型列表以及每种 AWS Glue 连接类型支持的内容的高级详细信息。请参阅 [ListConnectionTypes](https://docs.aws.amazon.com/glue/latest/webapi/API_ListConnectionTypes.html)。

## 在 AWS Glue 中创建 REST 连接类型
<a name="creating-a-rest-connection-type"></a>

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

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

### 先决条件
<a name="creating-a-rest-connection-type-prerequisites"></a>

 在尝试配置 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-based` 和 `offset-based` 分页。

### RegisterConnectionType
<a name="registering-a-rest-connection-type"></a>

 根据提供的配置在 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 请求语法
<a name="register-connection-type-request-syntax"></a>

 请参阅 [RegisterConnectionType](https://docs.aws.amazon.com/glue/latest/webapi/API_RegisterConnectionType.html) 

 注册 REST API 连接类型后，即可用于创建与已配置数据来源的连接。有关详细说明，请参阅[连接到 REST API](https://docs.aws.amazon.com/glue/latest/dg/connecting-to-data-rest-api.html)。