

# 使用 AWS Serverless Application Repository 部署数据来源连接器
<a name="connect-data-source-serverless-app-repo"></a>

要部署数据来源连接器，您可以使用 [AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/) 而不使用 AWS Glue 连接。

**注意**  
我们建议您仅在使用自定义连接器或需要使用早期版本连接器时使用 SAR。对于其他情况，我们建议您使用 Athena 控制台。

您可以使用 AWS Serverless Application Repository 找到要使用的连接器，提供连接器所需的参数，然后将连接器部署到您的账户。部署连接器后，您可以使用 Athena 控制台向 Athena 提供数据来源。

## 将连接器部署到您的账户
<a name="connect-data-source-serverless-app-repo-deploying"></a>

**使用 AWS Serverless Application Repository 将数据来源连接器部署到您的账户**

1. 登录 AWS 管理控制台并打开 **Serverless App Repository (无服务器应用程序存储库)**。

1. 在导航窗格中，选择 **Available applications (可用应用程序)**。

1. 选择 **Show apps that create custom IAM roles or resource policies**（显示创建自定义 IAM 角色或资源策略的应用程序）选项。

1. 在搜索框中，键入连接器的名称。有关预构建的 Athena 数据连接器的列表，请参阅 [可用数据来源连接器](connectors-available.md)。

1. 选择连接器的名称。选择连接器后会打开 AWS Lambda 控制台中 Lambda 函数的 **Application details**（应用程序详细信息）页面。

1. 在详细信息页面的右侧，为 **Application settings**（应用程序设置）填写必填信息。最少的必填设置包括以下项。有关适用于 Athena 所构建的数据连接器的其余可配置选项的信息，请参阅 GitHub 上相应的 [Available connectors](https://github.com/awslabs/aws-athena-query-federation/wiki/Available-Connectors)（可用连接器）主题。
   + **AthenaCatalogName**：指明其目标数据来源的小写 Lambda 函数名称，例如 `cloudwatchlogs`。
   + **SpillBucket** – 在您的账户指定一个 Amazon S3 存储桶，用于接收来自超出 Lambda 函数响应大小限制的任何大型响应有效负载的数据。

1. 选中 **I acknowledge that this app creates custom IAM roles and resource policies**（我确认此应用程序创建自定义 IAM 角色和资源策略）。有关更多信息，请选择 **Info (信息)** 链接。

1. 在 **Application settings**（应用程序设置）部分的右下角，选择 **Deploy**（部署）。部署完成后，Lambda 函数将显示在 Lambda 控制台中的 **Resource**（资源）部分。

## 使连接器在 Athena 中可用
<a name="connect-data-source-serverless-app-repo-making-the-connector-available-in-athena"></a>

现在您可以使用 Athena 控制台使数据来源连接器对 Athena 可用。

**使数据来源连接器对 Athena 可用**

1. 从 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 打开 Athena 控制台。

1. 如果控制台导航窗格不可见，请选择左侧的扩展菜单。  
![选择扩展菜单。](http://docs.aws.amazon.com/zh_cn/athena/latest/ug/images/nav-pane-expansion.png)

1. 在导航窗格中，选择**数据来源和目录**。

1. 在**数据来源和目录**页面上，选择**创建数据来源**。

1. 对于**选择数据来源**，选择您在 AWS Serverless Application Repository 中创建了连接器的数据来源。本教程使用 **Amazon CloudWatch Logs** 作为联合数据来源。

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

1. 在**输入数据来源详细信息**页面中，对于**数据来源名称**，请输入从 Athena 查询数据来源时要在 SQL 语句中使用的名称（例如 `CloudWatchLogs`）。名称最多可以包括 127 个字符，并且在您的账户中必须是唯一的。它在创建后即无法更改。有效字符包括 a-z、A-Z、0-9、\_（下划线）、@（at 符号）和 -（连字符）。名称 `awsdatacatalog`、`hive`、`jmx` 和 `system` 是 Athena 预留的名称，无法用于数据来源名称。

1. 在 **Connection details**（连接详细信息）部分中，请使用 **Select or enter a Lambda function**（选择或输入 Lambda 函数）框以选择刚创建的函数名称。将显示 Lambda 函数的 ARN。

1. （可选）对于**标签**，添加要与此数据来源关联的键值对。有关标签的更多信息，请参阅[标记 Athena 资源](tags.md)。

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

1. 在**审核和创建**页面中，查看数据来源的详细信息，然后选择**创建数据来源**。

1. 数据来源此页面的**数据来源详细信息**部分显示了有关新连接器的信息。现在，您可以在 Athena 查询中使用连接器。

   有关在查询中使用数据连接器的信息，请参阅 [运行联合查询](running-federated-queries.md)。