

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

# Zendesk
<a name="data-source-zendesk"></a>

Zendesk 是一个客户关系管理系统，可帮助企业自动化和增强客户支持互动。您可以使用Amazon Kendra索引您的 Zendesk 支持工单、工单评论、工单附件、帮助中心文章、文章评论、文章评论附件、指南社区主题、社区帖子和社区帖子评论。

如果要仅对位于特定组织内的工单编制索引，则可以按组织名称进行筛选。您也可以选择为您想要开始从 Zendesk 爬取数据的时间设置一个爬取日期。

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

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

**Topics**
+ [

## 支持的功能
](#supported-features-zendesk)
+ [

## 先决条件
](#prerequisites-zendesk)
+ [

## 连接说明
](#data-source-procedure-zendesk)
+ [

## 了解详情
](#zendesk-learn-more)
+ [

## 注意
](#zendesk-notes)

## 支持的功能
<a name="supported-features-zendesk"></a>

Amazon KendraZendesk 数据源连接器支持以下功能：
+ 字段映射
+ 用户访问控制
+ 包含/排除筛选条件
+ 更改日志、完整和增量内容同步
+ 虚拟私有云（VPC）

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

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

**在 Zendesk 中，请确保：**
+ 已创建 Zendesk 套件（专业版/企业版）管理账户。
+ 已记下您的 Zendesk 主机 URL。例如 *https://\$1sub-domain\$1.zendesk.com/*。
**注意**  
（本地/服务器）Amazon Kendra会检查中AWS Secrets Manager包含的端点信息是否与数据源配置详细信息中指定的端点信息相同。这有助于防止出现[混淆代理人问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)，这是一个安全问题，即用户无权执行操作，但可以将 Amazon Kendra 作为代理来访问配置的密钥和执行操作。如果以后更改端点信息，则必须创建一个新密钥来同步此信息。
+ 使用授权码授权流程设置 OAuth 2.0 身份验证：

  1. 在管理中心中，导航到应用程序和集成 > APIs > Zendesk API。

  1. 选择 “ OAuth 客户端” 选项卡，然后单击 “添加 OAuth 客户端”。

  1. 配置 OAuth 客户端详细信息：设置客户机名称和描述，将客户端类型设置为 “机密”，添加相应的重定向 URLs （例如，https://localhost/callback 用于测试），保存并安全地存储生成的客户端 ID 和客户端密钥。

  1.  确保 OAuth 客户端具有所需的 “读取” 范围（如果您需要写入权限，则为 “读写”）。

  1.  使用授权码授予流程生成访问令牌：
     + 在浏览器中，导航到：`https://{subdomain}.zendesk.com/oauth/authorizations/new?response_type=code&client_id={your_client_id}&redirect_uri={your_redirect_uri}&scope=read`
     +  按提示进行身份验证并授权应用程序。
     +  授权后，Zendesk 会使用代码参数（例如授权码）重定向到 redirect\$1uri。 https://localhost/callback?code=\$1authorization\$1code\$1). Copy
     +  通过向 Zendesk 的令牌端点发送 POST 请求，将授权码换成访问令牌：

       ```
       curl -X POST https://{subdomain}.zendesk.com/oauth/tokens \
         -H "Content-Type: application/x-www-form-urlencoded" \
         -d "grant_type=authorization_code&code={authorization_code}&client_id={your_client_id}&client_secret={your_client_secret}&redirect_uri={your_redirect_uri}&scope=read"
       ```
     +  Zendesk 会返回一个包含 access\$1token 的 JSON 对象。提取并安全地存储此访问令牌。

  1. 请妥善存储生成的访问令牌。此访问令牌将用于 Kendra 集成。
+ 
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。
+ **可选：**已安装允许 Amazon Kendra 进行连接的 SSL 证书。
+ 在 Zendesk 以及计划用于编制同一索引的其他数据来源中，已检查每个文档都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档对索引来说 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。
+ 将您的 Zendesk 身份验证凭证存储在 AWS Secrets Manager 密钥中，如果使用 API，请记下密钥的 ARN。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。

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

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

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

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

**连接到 Zen Amazon Kendra desk** 

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

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

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

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

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

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

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

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

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

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

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

   1. **Zendesk URL** - 输入 Zendesk URL。例如 *https://\$1sub-domain\$1.zendesk.com/*。

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

   1. AWS Secrets Managers@@ **ecret** —选择现有密钥或创建新Secrets Manager密钥来存储您的 Zendesk 身份验证凭据。如果您选择创建新密钥，则会打开 AWS Secrets Manager 密钥窗口。

      1. 创建一个使用以下结构的新密钥：

         ```
         {
                  "hostUrl": "https://yoursubdomain.zendesk.com/",
                  "accessToken": "your_access_token"
         }
         ```
**注意**  
对于 Kendra 集成，机密名称应以 “AmazonKendra-Zendesk-' 开头，然后是你选择的标识符（例如 '-Zendesk-'）。AmazonKendra MyConnector

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

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

   1. **身份爬网程序** – 指定是否激活 Amazon Kendra 的身份爬网程序。身份爬网程序使用文档的访问控制列表（ACL）信息，来根据用户或用户组对文档的访问权限筛选搜索结果。如果您的文档有 ACL 并选择使用您的 ACL，则也可以选择开启身份爬网程序来配置搜索结果Amazon Kendra的[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。否则，如果关闭身份爬网程序，则可以公开搜索所有文档。如果您想对文档使用访问控制并且身份搜寻器已关闭，则可以使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html)API 上传用户和群组访问信息以进行用户上下文筛选。

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

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

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

   1. **选择内容** - 选择要从工单中爬取的内容类型，以获取帮助中心文章、社区主题等。

   1. **组织名称** - 输入 Zendesk 组织名称以筛选内容。

   1. **同步开始日期** - 输入要开始爬取内容的开始日期。

   1. **正则表达式模式** - 添加包含或排除某些文件的正则表达式模式。最多可以添加 100 个模式。

   1. **同步模式** – 选择在数据来源内容发生变化时更新索引的方式。首次与同步数据源时，Amazon Kendra默认情况下会对所有内容进行抓取和索引。如果首次同步失败，即使您没有选择“完整同步”作为同步模式，也必须执行一次完整的数据同步。
      + 完整同步：每次数据来源与索引同步时，重新为所有内容编制索引，并替换已有内容。
      + 新增、修改的同步：每次数据来源与索引同步时，仅为新增和修改的内容编制索引。Amazon Kendra 可以利用数据来源自身的内容变更跟踪机制，仅为自上次同步以来发生变化的内容编制索引。
      + 新增、已修改、已删除的同步：每次数据源与索引同步时，仅索引新内容、修改内容和已删除内容。 Amazon Kendra可以使用数据源的机制来跟踪内容更改并索引自上次同步以来更改的内容。

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

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

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

   1. **默认数据源字段**-从Amazon Kendra生成的默认数据源字段中选择要映射到索引的字段。

   1.  **添加字段** - 添加自定义数据来源字段以创建要映射到的索引字段名称和字段数据类型。

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

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

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

**连接到 Zen Amazon Kendra desk**

您必须使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 指定[数据来源架构](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)的 JSON。您必须提供以下信息：
+ **数据来源** – 当使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 架构时，将数据来源类型指定为 `ZENDESK`。当调用 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API 时，还要将数据来源指定为 `TEMPLATE`。
+ **主机 URL** - 在连接配置或存储库端点详细信息中提供您的 Zendesk 主机 URL。例如 * https://yoursubdomain.zendesk.com*。
+  **更改日志** - Amazon Kendra 是否应使用 Zendesk 数据来源的更改日志机制来判断索引中的文档是否需要更新。
**注意**  
如果您不想让 Amazon Kendra 扫描所有文档，请使用更改日志。如果您的更改日志很大，则扫描 Zendesk 数据源中的文档所花费的时间可能比处理变更日志所需的时间Amazon Kendra少。如果您是首次将 Zendesk 数据来源与索引同步，则会扫描所有文档。
+ **亚马逊秘密资源名称 (ARN)**-提供包含您的 Zendesk 账户身份验证凭证的Secrets Manager密钥的亚马逊资源名称 (ARN)。密钥必须使用具有以下键的 JSON 结构存储：

  ```
  {
      "hostUrl": "https://yoursubdomain.zendesk.com",
      "clientId": "client ID",
      "clientSecret": "Zendesk client secret",
      "userName": "Zendesk user name",
      "password": "Zendesk password"
  }
  ```
+ **IAMro** le —指定`RoleArn`何时调用`CreateDataSource`为IAM角色提供访问您的Secrets Manager密钥的权限以及调用 Zendesk 连接器 APIs 所需的公众的权限，以及。Amazon Kendra有关更多信息，请参阅 [Zendesk 数据来源的 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)。
+  **文档/内容类型** - 指定是否进行爬取：
  + Support 工单、工单评论、 and/or 工单评论附件
  + 帮助中心文章、文章附件和文章备注
  + 指南社区主题、帖子或帖子评论
+  **包含和排除筛选条件** - 指定是包含还是排除某些 Slack 内容。如果您使用机器人令牌作为 Slack 身份验证凭证的一部分，则必须将机器人令牌添加到要编制索引的频道。您无法使用机器人令牌将私信和群组消息编入索引。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。
+  **用户上下文筛选和访问控制** - 如果文档有 ACL，则 Amazon Kendra 会爬取文档的访问控制列表（ACL）。ACL 信息用于根据用户或其所在组对文档的访问权限来筛选搜索结果。有关更多信息，请参阅[用户上下文筛选](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)。
+  **字段映射** - 选择将 Zendesk 数据来源字段映射到 Amazon Kendra 索引字段。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。
**注意**  
要搜索您的文档，必须输入文档正文字段或文档正文等效字段。Amazon Kendra您必须将数据来源中的文档正文字段名映射到索引字段名称 `_document_body`。其他所有字段均为可选字段。

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

------

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

要了解有关Amazon Kendra与 Zendesk 数据源集成的更多信息，请参阅：
+ [通过Amazon Kendra智能搜索发现来自 Zendesk 的见解](https://aws.amazon.com/blogs/machine-learning/discover-insights-from-zendesk-with-amazon-kendra-intelligent-search/)

## 注意
<a name="zendesk-notes"></a>
+ 启用访问控制列表 (ACLs) 后，由于 Zendesk API 的限制，“仅同步新内容或修改内容” 选项不可用。我们建议改用 “完全同步” 或 “新建、修改或删除的内容同步” 模式，或者 ACLs 如果您需要使用此同步模式，则将其禁用。