

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

# Gmail
<a name="data-source-gmail"></a>

Gmail 是 Google 开发的电子邮件客户端，可用于发送包含文件附件的电子邮件。您可以使用文件夹和标签对 Gmail 邮件进行排序并将其存储在您的电子邮件收件箱中。您可以使用Amazon Kendra为电子邮件和邮件附件编制索引。您还可以配置Amazon Kendra为包括或排除特定的电子邮件、邮件附件和标签以进行索引。

您可以使用[Amazon Kendra控制台](https://console.aws.amazon.com/kendra/)和 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html)API Amazon Kendra 连接到您的 Gmail 数据源。

要对 Amazon Kendra Gmail 数据源连接器进行故障排除，请参阅[数据来源故障排除](troubleshooting-data-sources.md)。

**Topics**
+ [支持的功能](#supported-features-gmail)
+ [先决条件](#prerequisites-gmail)
+ [连接说明](#data-source-procedure-gmail)
+ [了解详情](#gmail-learn-more)
+ [注意](#gmail-notes)

## 支持的功能
<a name="supported-features-gmail"></a>
+ 字段映射
+ 用户访问控制
+ 包含/排除筛选条件
+ 完整和增量内容同步
+ 虚拟私有云（VPC）

## 先决条件
<a name="prerequisites-gmail"></a>

在使用Amazon Kendra索引 Gmail 数据源之前，请在您的 Gmail 和AWS帐号中进行这些更改。

**在 Gmail 中，请确保：**
+ 已创建 Google Cloud Platform 管理员账号并创建 Google Cloud 项目。
+ 在您的管理员账户中激活了 Gmail API 和管理开发工具包 API。
+ 为您的 Gmail 创建了一个服务帐号并下载了一个 JSON 私有密钥。有关如何创建和访问私有密钥的信息，请参阅有关如何[创建服务帐号密钥](https://cloud.google.com/iam/docs/keys-create-delete#creating)和[服务帐号凭证](https://cloud.google.com/iam/docs/service-account-creds#key-types)的 Google Cloud 文档。
+ 已复制您的管理员账户电子邮件地址、服务账户电子邮件地址和用作身份验证凭证的私有密钥。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。
+ 为您的用户和要索引的共享目录添加了以下 Oauth 作用域（使用管理员角色）：
  + https://www.googleapis.com/auth/管理员目录.user.readonly
  + https://www.googleapis.com/auth/gmail.readonly
+ 在 Gmail 以及计划用于编制同一索引的其他数据来源中，已检查每个文档都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档对索引来说 IDs 是全局的，并且每个索引必须是唯一的。

**在你的AWS 账户，请确保你有：**
+ [已创建Amazon Kendra索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)，如果使用 API，则记下索引 ID。
+ 为您的数据源@@ [创建了一个IAM角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)，如果使用 API，请记下该角色的 ARN。IAM
**注意**  
如果您更改了身份验证类型和证书，则必须更新您的IAM角色才能访问正确的AWS Secrets Manager密钥 ID。
+ 将您的 Gmail 身份验证凭证存储在 AWS Secrets Manager 密钥中，如果使用 API，请记下密钥的 ARN。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。

如果您没有现有的IAM角色或密钥，则可以在将 Gmail 数据源连接到时使用控制台创建新的IAM角色和Secrets Manager密钥Amazon Kendra。如果您使用的是 API，则必须提供现有IAM角色和Secrets Manager密钥的 ARN 以及索引 ID。

## 连接说明
<a name="data-source-procedure-gmail"></a>

要Amazon Kendra连接到您的 Gmail 数据源，您必须提供 Gmail 凭据的详细信息，Amazon Kendra以便访问您的数据。如果您尚未为 Gmail 配置Amazon Kendra，请参阅[先决条件](#prerequisites-gmail)。

------
#### [ Console ]

**连接Amazon Kendra到 Gmail** 

1. 登录AWS 管理控制台并打开[Amazon Kendra控制台](https://console.aws.amazon.com/kendra/)。

1. 在左侧导航窗格中，选择**索引**，然后从索引列表中选择要使用的索引。
**注意**  
您可以选择在**索引设置**下配置或编辑您的**用户访问控制**设置。

1. 在**开始使用**页面上，选择**添加数据来源**。

1. 在**添加数据来源**页面上，选择 **Gmail 连接器**，然后选择**添加连接器**。如果使用版本 2（如果适用），请选择带有“V2.0”标签的 **Gmail 连接器**。

1. 在**指定数据来源详细信息**页面上，输入以下信息：

   1. 在**名称和描述**中，在**数据来源名称**中输入您的数据来源的名称。可以包含连字符，但不能包含空格。

   1. （可选）**描述**：输入数据来源的描述信息。

   1. 在**默认语言**中，选择用于筛选文档以编制索引的语言。除非另行指定，否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。

   1. 在**标签**中，用于**添加新标签**-包括可选标签以搜索和筛选您的资源或跟踪您的AWS成本。

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

1. 在**定义访问权限和安全性**页面上，请输入以下信息：

   1. **授权** - 如果您有访问控制列表（ACL）并想将其用于访问控制，请选择是开启还是关闭文档的 ACL 信息。ACL 用于指定用户和组可以访问哪些文档。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。

   1. 在**AWSSecrets Manager密钥****身份验证**中-选择现有密钥或创建新Secrets Manager密钥来存储您的 Gmail 身份验证凭据。如果您选择创建新密钥，则会打开一个AWSSecrets Manager秘密窗口。

      1. 在**创建 AWS Secrets Manager 密钥窗口**中输入以下信息：

        1. **密钥名称** - 密钥的名称。

        1. **客户端电子邮件地址** - 您从 Google 服务帐号中复制的客户端电子邮件地址。

        1. **管理员账户电子邮件地址** - 您要使用的管理员账户电子邮件地址。

        1. **私有密钥** - 您从 Google 服务帐号中复制的私有密钥。

        1. 保存并添加您的密钥。

   1. **虚拟私有云（VPC）**- 您可以选择使用 VPC。如果是这样，则必须添加**子网**和 **VPC 安全组**。

   1. **IAMro** le —选择现有IAM角色或创建新IAM角色来访问您的存储库凭据和索引内容。
**注意**  
IAM用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答，为了避免出错，请选择**创建新角色**。

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

1. 在**配置同步设置**页面上，请输入以下信息：

   1. 对于**实体类型** – 选择同步邮件附件。

   1. （可选）对于**其他配置**，输入以下信息：

      1. **日期范围** - 输入日期范围以指定要爬取的电子邮件的开始和结束日期。

      1. **电子邮件域** – 使用“收件人”、“发件人”、“抄送”和“密件抄送”电子邮件域包含或排除特定电子邮件。

      1. **主题中的关键字** - 根据电子邮件主题中的关键字包含或排除电子邮件。
**注意**  
您也可以选择包含与您输入的所有主题关键字相匹配的任何文档。

      1. **标签** - 添加正则表达式模式以包含或排除某些电子邮件标签。

      1. **附件** - 添加正则表达式模式以包含或排除某些电子邮件附件。

   1. **同步模式** – 选择在数据来源内容发生变化时更新索引的方式。首次与同步数据源时，Amazon Kendra默认情况下会对所有内容进行抓取和索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。
      + 完整同步：每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
      + 新增、已修改、已删除的同步：每次数据源与索引同步时，仅索引新内容、修改内容和已删除内容。 Amazon Kendra可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。
**重要**  
由于没有 API 可以更新永久删除的 Gmail 邮件，所以同步新增、修改或删除的内容：  
不会从您的 Amazon Kendra 索引中移除从 Gmail 中永久删除的邮件
无法同步 Gmail 电子邮件标签中的更改
要将您的 Gmail 数据来源标签更改和永久删除的电子邮件同步到您的 Amazon Kendra 索引，您必须定期进行全面爬取。

   1. 在**同步运行计划**的**频率**中 - 选择同步数据来源内容并更新索引的频率。

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

1. 在**设置字段映射**页面上，请输入以下信息：

   1. **默认数据源字段**-从Amazon Kendra生成的默认数据源字段中选择要映射到索引的字段。
**注意**  
Amazon Kendra由于 API 限制，Gmail 数据源连接器不支持创建自定义索引字段。

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

1. 在**查看和创建**页面上，请检查输入的信息是否正确，然后选择**添加数据来源**。您也可以选择在此页面上编辑信息。成功添加数据来源后，您的数据来源将显示在**数据来源**页面上。

------
#### [ API ]

**连接Amazon Kendra到 Gmail**

您必须使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API 指定[数据来源架构](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-gmail-schema)的 JSON。您必须提供以下信息：
+ **数据来源** – 当使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 架构时，将数据来源类型指定为 `GMAIL`。当调用 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API 时，还要将数据来源指定为 `TEMPLATE`。
+ **同步模式**-指定数据源内容发生变化时Amazon Kendra应如何更新索引。首次将数据来源与 Amazon Kendra 同步时，默认情况下会爬取所有内容并编制索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。您可以选择：
  + `FORCED_FULL_CRAWL`，每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
  + `FULL_CRAWL`，每次数据来源与索引同步时，仅为新增、修改和删除的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制，仅为自上次同步以来发生变化的内容编制索引。
**重要**  
由于没有 API 可以更新永久删除的 Gmail 邮件，所以同步新增、修改或删除的内容：  
不会从您的 Amazon Kendra 索引中移除从 Gmail 中永久删除的邮件
无法同步 Gmail 电子邮件标签中的更改
要将您的 Gmail 数据源标签更改和永久删除的电子邮件同步到您的Amazon Kendra索引，您必须定期进行全面抓取。
+ **亚马逊秘密资源名称 (ARN)**-提供包含您的 Gmail 账户身份验证凭证的Secrets Manager密钥的亚马逊资源名称 (ARN)。密钥必须使用具有以下键的 JSON 结构存储：

  ```
  {
      "adminAccountEmailId": "service account email",
      "clientEmailId": "user account email",
      "privateKey": "private key"
  }
  ```
+ **IAM角色**-指定`RoleArn`何时致电`CreateDataSource`为IAM角色提供访问您的Secrets Manager密钥的权限以及致电 Gmail 连接器 APIs 所需的公众的权限，以及Amazon Kendra。有关更多信息，请参阅 [Gmail 数据来源的 IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

您还可以添加以下可选功能：
+  **虚拟私有云（VPC）**- 指定 `VpcConfiguration`，以便调用 `CreateDataSource`。有关更多信息，请参阅 [配置 Amazon Kendra 为使用 Amazon VPC](vpc-configuration.md)。
+  **包含和排除筛选条件** - 指定是包含还是排除“收件人”、“发件人”、“抄送”、“密件抄送”电子邮件。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+  **用户上下文筛选和访问控制** - 如果文档有 ACL，则 Amazon Kendra 会爬取文档的访问控制列表（ACL）。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)。
+  **字段映射** - 选择将 Gmail 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。
**注意**  
要搜索您的文档，必须输入文档正文字段或文档正文等效字段。Amazon Kendra您必须将数据来源中的文档正文字段名映射到索引字段名称 `_document_body`。其他所有字段均为可选字段。
**注意**  
Amazon Kendra由于 API 限制，Gmail 数据源连接器不支持创建自定义索引字段。

有关要配置的其他重要 JSON 键的列表，请参阅 [Gmail 模板架构](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-gmail-schema)。

------

## 了解详情
<a name="gmail-learn-more"></a>

要详细了解如何Amazon Kendra与 Gmail 数据源集成，请参阅：
+ [使用适用于 Amazon Kendra 的 Gmail 连接器在 Google 工作区中对电子邮件进行智能搜索](https://aws.amazon.com/blogs/machine-learning/perform-intelligent-search-across-emails-in-your-google-workspace-using-the-gmail-connector-for-amazon-kendra/).

## 注意
<a name="gmail-notes"></a>
+ 由于没有 API 可以更新永久删除的 Gmail 邮件，所以 `FULL_CRAWL`/**同步新增、修改或删除的内容**：
  + 不会从您的Amazon Kendra索引中移除从 Gmail 中永久删除的邮件
  + 无法同步 Gmail 电子邮件标签中的更改

  要将您的 Gmail 数据源标签更改和永久删除的电子邮件同步到您的Amazon Kendra索引，您必须定期进行全面抓取。
+ Amazon Kendra由于 API 限制，Gmail 数据源连接器不支持创建自定义索引字段。