

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

# 连接 Confluence 以获取您的知识库
<a name="confluence-data-source-connector"></a>

Atlassian Confluence 是一款协作式工作管理工具，专为共享、存储和处理项目规划、软件开发和产品管理而设计。您可以使用[适用于 Amazon Bedrock 的 AWS 管理控制台](https://console.aws.amazon.com/bedrock/home)或 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) API 连接 Confluence 实例，来获取 Amazon Bedrock 知识库（请参阅 Amazon Bedrock [支持的 SDK 和 AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)）。

**注意**  
Confluence 数据来源连接器目前为预览版，可能随时发生变化。  
Confluence 数据来源不支持多模态数据，例如表、曲线图、图表或其他图像。

Amazon Bedrock 支持连接 Confluence Cloud 实例。目前，只有 Amazon OpenSearch 无服务器向量存储可用于此数据来源。

对可爬取的文件数和文件的 MB 数是有限制的。请参阅 [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支持的特征](#supported-features-confluence-connector)
+ [先决条件](#prerequisites-confluence-connector)
+ [连接配置](#configuration-confluence-connector)

## 支持的特征
<a name="supported-features-confluence-connector"></a>
+ 自动检测主要文档字段
+ 包含/排除内容筛选条件
+ 对已添加、更新、删除的内容进行增量内容同步
+ OAuth 2.0 身份验证，使用 Confluence API 令牌进行身份验证

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

**在 Confluence 中，请确保**：
+ 记下 Confluence 实例 URL。例如，Confluence Cloud 的 URL 为 {{https://example.atlassian.net}}。Confluence Cloud 的 URL 必须是以 {{.atlassian.net}} 结尾的基本 URL。
+ 配置包含用户名（管理员账户的电子邮件地址）和密码（Confluence API 令牌）的基本身份验证凭证，以便将 Amazon Bedrock 连接到 Confluence Cloud 实例。有关如何创建 Confluence API 令牌的信息，请参阅 Atlassian 网站上的 [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token)。
+ （可选）使用应用程序键、应用程序密钥、访问令牌和刷新令牌等凭证配置 OAuth 2.0 应用程序。有关更多信息，请参阅 Atlassian 网站上的 [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/)。
+ 必须启用某些读取权限或范围，才能将 OAuth 2.0 应用程序连接到 Confluence。

  Confluence API：
  + offline\_access
  + read:content:confluence – 查看详细内容 
  + read:content-details:confluence – 查看内容详细信息 
  + read:space-details:confluence – 查看空间详细信息
  + read:audit-log:confluence – 查看审计记录 
  + read:page:confluence – 查看页面 
  + read:attachment:confluence – 查看和下载内容附件 
  + read:blogpost:confluence – 查看博客文章 
  + read:custom-content:confluence – 查看自定义内容 
  + read:comment:confluence – 查看评论 
  + read:template:confluence – 查看内容模板 
  + read:label:confluence – 查看标签 
  + read:watcher:confluence – 查看内容观察者 
  + read:relation:confluence – 查看实体关系 
  + read:user:confluence – 查看用户详细信息 
  + read:configuration:confluence – 查看 Confluence 设置 
  + read:space:confluence – 查看空间详细信息 
  + read:space.property:confluence – 查看空间属性 
  + read:user.property:confluence – 查看用户属性 
  + read:space.setting:confluence – 查看空间设置 
  + read:analytics.content:confluence – 查看内容的分析
  + read:content.property:confluence – 查看内容属性
  + read:content.metadata:confluence – 查看内容摘要 
  + read:inlinetask:confluence – 查看任务 
  + read:task:confluence – 查看任务 
  + read:whiteboard:confluence – 查看白板 
  + read:app-data:confluence – 读取应用程序数据 
  + read:folder:confluence - 查看文件夹
  + read:embed:confluence - 查看 Smart Link 数据

**在 AWS 账户中，请确保**：
+ 将身份验证凭证存储在 [AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中，并记下该密钥的 Amazon 资源名称（ARN）。按照此页面上的**连接配置**说明添加密钥中必须包含的键值对。
+ 在知识库的 AWS Identity and Access Management (IAM) 角色/权限策略中包含连接到数据来源的必要权限。有关将此数据来源添加到知识库 IAM 角色所需的权限的信息，请参阅[访问数据来源的权限](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds)。

**注意**  
如果使用的是控制台，则可以前往 AWS Secrets Manager 添加密钥或在配置数据来源时使用现有密钥。您可以在控制台中创建知识库时创建具有所有必需权限的 IAM 角色。配置数据来源和其他配置后，具有所有必需权限的 IAM 角色将应用于特定知识库。  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。建议不要跨数据来源重复使用凭证和密钥。

## 连接配置
<a name="configuration-confluence-connector"></a>

要连接 Confluence 实例，您必须提供必要的配置信息，以便 Amazon Bedrock 可以访问和爬取您的数据。您还必须遵循[先决条件](#prerequisites-confluence-connector)。

本部分包含此数据来源的配置示例。

有关自动检测文档字段、包含/排除筛选条件、增量同步、密钥身份验证凭证及其工作原理的更多信息，请选择以下相应的项：

### 自动检测主要文档字段
<a name="ds-confluence-document-fields"></a>

数据来源连接器会自动检测并爬取文档或内容的所有主要元数据字段。例如，数据来源连接器可以爬取与您的文档等效的文档正文、文档标题、文档创建或修改日期或其他可能适用于您文档的核心字段。

**重要**  
如果您的内容包含敏感信息，则 Amazon Bedrock 可能使用敏感信息进行响应。

您可以对元数据字段应用筛选运算符，以帮助您进一步提高响应的相关性。例如，文档“epoch\_modification\_time”或文档在 1970 年 1 月 1 日最后一次更新之后经历的秒数。您可以通过将“epoch\_modification\_time”设置为*大于*某个数值，筛选出最新的数据。有关可以应用于元数据字段的筛选运算符的更多信息，请参阅[元数据和筛选](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html)。

### 包含/排除筛选条件
<a name="ds-confluence-inclusion-exclusion"></a>

您可以包含或排除对某些内容的爬取。例如，您可以指定一个前缀/正则表达式排除模式，以跳过对文件名中包含“private”的任何文件的爬取。您也可以指定一个前缀/正则表达式包含模式以包含某些内容实体或内容类型。如果您指定了包含和排除筛选条件，且两者都与文档匹配，则优先执行排除筛选条件，不爬取该文档。

排除或筛选掉文件名中包含“private”的 PDF 文件的正则表达式模式示例：*".\*private.\*\\\\.pdf"*

您可以对以下内容类型应用包含/排除筛选条件：
+ `Space`：唯一的空格键
+ `Page`：主页标题
+ `Blog`：主博客标题
+ `Comment`：属于某个页面或博客的评论。指定 {{Re: Page/Blog Title}}
+ `Attachment`：附件文件名及其扩展名

### 增量同步
<a name="ds-confluence-incremental-sync"></a>

数据来源每次与知识库同步时，数据来源连接器都会爬取新增、修改和删除的内容。Amazon Bedrock 可以使用数据来源的机制来跟踪内容更改并爬取自上次同步以来更改的内容。首次将数据来源与知识库同步时，默认爬取所有内容。

要将数据来源与知识库同步，请使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API 或在控制台中选择知识库，然后在数据来源概述部分中选择**同步**。

**重要**  
您从数据来源同步的所有数据都可供有检索数据的 `bedrock:Retrieve` 权限的任何人使用。这也可以包括任何具有受控数据来源权限的数据。有关更多信息，请参阅[知识库权限](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

### 密钥身份验证凭证
<a name="ds-confluence-secret-auth-credentials"></a>

（如果使用的是基本身份验证）您在 AWS Secrets Manager 中的密钥身份验证凭证应包含以下键值对：
+ `username`: {{admin user email address of Atlassian account}}
+ `password`: {{Confluence API token}}

（如果使用的是 OAuth 2.0 身份验证）您在 AWS Secrets Manager 中的密钥身份验证凭证应包含以下键值对：
+ `confluenceAppKey`: {{app key}}
+ `confluenceAppSecret`: {{app secret}}
+ `confluenceAccessToken`: {{app access token}}
+ `confluenceRefreshToken`: {{app refresh token}}

**注意**  
Confluence OAuth2.0 **访问**令牌的默认到期时间为 60 分钟。如果此令牌在您的数据来源同步（同步作业）时过期，Amazon Bedrock 将使用提供的**刷新**令牌来重新生成此令牌。此重新生成操作会刷新访问令牌和刷新令牌。为了将令牌从当前同步作业更新到下一个同步作业，Amazon Bedrock 需要您的知识库 IAM 角色拥有密钥凭证的写入/放置权限。

**注意**  
您在 AWS Secrets Manager 中的密钥必须使用与知识库相同的区域。

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

**将 Confluence 实例连接到知识库**

1. 按照[在 Amazon Bedrock 知识库中通过连接到数据来源创建知识库](knowledge-base-create.md)中的步骤操作，然后选择 **Confluence** 作为数据来源。

1. 提供数据来源的名称和（可选的）描述。

1. 提供 Confluence 实例 URL。例如，Confluence Cloud 的 URL 为 {{https://example.atlassian.net}}。Confluence Cloud 的 URL 必须是以 {{.atlassian.net}} 结尾的基本 URL。

1. 在**高级设置**部分，您可以选择进行以下配置：
   + **用于临时数据存储的 KMS 密钥。**– 在将数据转换为嵌入时，您可以使用默认 AWS 托管式密钥或您自己的 KMS 密钥加密临时数据。有关更多信息，请参阅 [加密数据提取期间的临时数据存储](encryption-kb.md#encryption-kb-ingestion)。
   + **数据删除策略** – 您可以删除数据来源的向量嵌入（这些向量嵌入默认存储在向量存储中），也可以选择保留向量存储数据。

1. 提供身份验证信息以连接 Confluence 实例：
   + 要使用基本身份验证，请前往 AWS Secrets Manager 添加密钥身份验证凭证或使用您创建的密钥的现有 Amazon 资源名称（ARN）。密钥必须包含 Atlassian 账户的管理员用户电子邮件地址作为用户名，并包含 Confluence API 令牌来代替密码。有关如何创建 Confluence API 令牌的信息，请参阅 Atlassian 网站上的 [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token)。
   + 要使用 OAuth 2.0 身份验证，请前往 AWS Secrets Manager 添加密钥身份验证凭证或使用您创建的密钥的现有 Amazon 资源名称（ARN）。密钥必须包含 Confluence 应用程序键、应用程序密钥、访问令牌、刷新令牌。有关更多信息，请参阅 Atlassian 网站上的 [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/)。

1. （可选）在**内容解析和分块**部分，您可以自定义如何对数据进行解析和分块。要了解有关这些定制设置的更多信息，请参阅以下资源：
   + 有关解析选项的更多信息，请参阅[数据来源的解析选项](kb-advanced-parsing.md)。
   + 有关分块策略的更多信息，请参阅[知识库的内容分块是如何运作的](kb-chunking.md)。
**警告**  
连接到数据来源后，就无法更改分块策略。
   + 有关如何自定义数据分块和使用 Lambda 函数处理元数据的详细信息，请参阅[使用自定义转换 Lambda 函数定义数据的摄取方式](kb-custom-transformation.md)。

1. 选择使用筛选条件/正则表达式模式来包含或排除某些内容。否则，会爬取所有标准内容。

1. 继续选择嵌入模型和向量存储。要查看剩余步骤，请在连接数据来源后返回[在 Amazon Bedrock 知识库中通过连接到数据来源创建知识库](knowledge-base-create.md)，然后继续执行该步骤。

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

以下是 Amazon Bedrock 知识库连接到 Confluence Cloud 的配置示例。您可以使用 AWS CLI 或支持的 SDK（例如 Python）通过 API 来配置数据来源。调用 [CreateKnowledgebase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) 后，您可以调用 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 来使用 `dataSourceConfiguration` 中的连接信息创建数据来源。

要了解可以通过添加可选的 `vectorIngestionConfiguration` 字段来应用于摄取的定制设置，请参阅[自定义数据来源的摄取](kb-data-source-customize-ingestion.md)。

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Confluence Cloud/SaaS connector" \
 --description "Confluence Cloud/SaaS data source connector for Amazon Bedrock to use content in Confluence" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://confluence-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

confluence-bedrock-connector-configuration.json
{
    "confluenceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://example.atlassian.net",
            "hostType": "SAAS",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Confluence"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Attachment",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "CONFLUENCE"
}
```

------