

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Drupal
<a name="data-source-drupal"></a>

**注意**  
截至 2026 年 5 月 31 日，現有客戶仍能完全支援 Drupal 連接器。雖然此連接器不再提供給新使用者，但現有使用者仍可不間斷使用。我們持續優化連接器產品組合，以提供更具可擴展性及自訂化的解決方案。對於未來的整合，我們建議您探索 Amazon Kendra Custom Connector Framework【1】，其設計旨在支援更廣泛的企業使用案例和增強的靈活性。

Drupal 是一種開放原始碼的內容管理系統 (CMS)，可用來建立網站和 Web 應用程式。您可以使用 在 Drupal 中Amazon Kendra為下列項目編製索引：
+ 內容 - 文章、基本頁面、基本區塊、使用者定義的內容類型、使用者定義區塊類型、自訂內容類型、自訂區塊類型
+ 註解 - 適用於任何內容類型和區塊類型
+ 附件 - 適用於任何內容類型和區塊類型

您可以使用 [Amazon Kendra主控台](https://console.aws.amazon.com/kendra/)或 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API Amazon Kendra連線到 Drupal 資料來源。

如需對 Amazon KendraDrupal 資料來源連接器進行故障診斷，請參閱 [對資料來源進行故障診斷](troubleshooting-data-sources.md)。

**Topics**
+ [支援的功能](#supported-features-drupal)
+ [先決條件](#prerequisites-drupal)
+ [連線指示](#data-source-procedure-drupal)
+ [備註](#drupal-notes)

## 支援的功能
<a name="supported-features-drupal"></a>

Amazon KendraDrupal 資料來源連接器支援下列功能：
+ 欄位對應
+ 使用者內容篩選
+ 包含/排除篩選條件
+ 完整和增量內容同步
+ 虛擬私有雲端 (VPC)

## 先決條件
<a name="prerequisites-drupal"></a>

在您可以使用 Amazon Kendra為 Drupal 資料來源編製索引之前，請在 Drupal 和 AWS帳戶中進行這些變更。

**在 Drupal 中，請確定您已：**
+ 建立 Drupal (Standard) Suite 帳戶和具有管理員角色的使用者。
+ 複製您的 Drupal 網站名稱並設定主機 URL。例如：*https://<hostname>/<drupalsitename>*。
+ 設定的基本身分驗證登入資料，其中包含使用者名稱 (Drupal 網站登入使用者名稱） 和密碼 (Drupal 網站密碼）。
+ **建議：**設定 OAuth 2.0 憑證字符。使用此字符與您的 Drupal 密碼授予、用戶端 ID、用戶端秘密、使用者名稱 (Drupal 網站登入使用者名稱） 和密碼 (Drupal 網站密碼） 一起連接到 Amazon Kendra。
+ 使用管理員角色在您的 Drupal 帳戶中新增下列許可：
  + 管理區塊
  + 管理 block\$1content 顯示
  + 管理 block\$1content 欄位
  + 管理 block\$1content 表單顯示
  + 管理檢視
  + 檢視使用者電子郵件地址
  + 檢視自己的未發佈內容
  + 檢視頁面修訂
  + 檢視文章修訂
  + 檢視所有修訂
  + 檢視管理佈景主題
  + 存取內容
  + 存取內容概觀
  + 存取評論
  + 搜尋內容
  + 存取檔案概觀
  + 存取內容連結
**注意**  
如果有使用者定義的內容類型或使用者定義的區塊類型，或有任何檢視和區塊新增至 Drupal 網站，則必須提供管理員存取權。

**在您的 中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， 會記下IAM角色的 ARN。
**注意**  
如果您變更身分驗證類型和登入資料，則必須更新您的IAM角色以存取正確的AWS Secrets Manager秘密 ID。
+ 將您的 Drupal 身分驗證憑證存放在AWS Secrets Manager秘密中，如果使用 API， 會記下秘密的 ARN。
**注意**  
建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級，以確保自身安全。**我們不**建議您在資料來源和連接器版本 1.0 和 2.0 （如適用） 之間重複使用登入資料和秘密。

如果您沒有現有的IAM角色或秘密，則可以在將 Drupal 資料來源連線到 時，使用 主控台建立新的IAM角色和Secrets Manager秘密Amazon Kendra。如果您使用 API，則必須提供現有IAM角色和Secrets Manager秘密的 ARN，以及索引 ID。

## 連線指示
<a name="data-source-procedure-drupal"></a>

若要Amazon Kendra連線至 Drupal 資料來源，您必須提供 Drupal 登入資料的詳細資訊，以便 Amazon Kendra可以存取您的資料。如果您尚未為 設定 Drupal，Amazon Kendra請參閱 [先決條件](#prerequisites-drupal)。

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

**Amazon Kendra連線至 Drupal** 

1. 登入 AWS 管理主控台並開啟 [Amazon Kendra主控台](https://console.aws.amazon.com/kendra/)。

1. 從左側導覽窗格中，選擇**索引**，然後從索引清單中選擇您要使用的索引。
**注意**  
您可以選擇在索引設定下設定或編輯**使用者存取控制**設定。 ****

1. 在**入門**頁面上，選擇**新增資料來源**。

1. 在**新增資料來源**頁面上，選擇 **Drupal 連接器**，然後選擇**新增連接器**。如果使用版本 2 （如適用），請選擇具有「V2.0」標籤的 **Drupal 連接器**。

1. 在**指定資料來源詳細資訊**頁面上，輸入下列資訊：

   1. 在**名稱和描述**中，針對**資料來源名稱** - 輸入資料來源的名稱。您可以包含連字號，但不能包含空格。

   1. （選用） **描述** — 輸入資料來源的選用描述。

   1. 在**預設語言** - 選擇語言來篩選索引的文件。除非您另有指定，否則語言預設為英文。文件中繼資料中指定的語言會覆寫選取的語言。

   1. 在**標籤**中，針對**新增標籤** - 包含選用標籤，以搜尋和篩選您的資源或追蹤您的AWS成本。

   1. 選擇**下一步**。

1. 在**定義存取和安全性**頁面上，輸入下列資訊：

   1. 在**來源**中，針對**主機 URL** - Drupal 網站的主機 URL。例如：*https://<hostname>/<drupalsitename>*。

   1. 對於 **SSL 憑證位置** - 輸入存放在儲存Amazon S3貯體中的 SSL 憑證路徑。

   1. **授權**：如果您有 ACL 並想要將其用於存取控制，請開啟或關閉文件的存取控制清單 (ACL) 資訊。ACL 指定使用者可以和群組存取哪些文件。ACL 資訊用於根據使用者或其群組對文件的存取來篩選搜尋結果。如需詳細資訊，請參閱[使用者內容篩選](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)。

   1. 對於**身分驗證** - 根據您的使用案例，在**基本身分驗證**和 **OAuth 2.0 身分驗證**之間進行選擇。

   1. **AWS Secrets Managersecret** - 選擇現有的秘密或建立新的Secrets Manager秘密，以存放 Drupal 身分驗證登入資料。如果您選擇建立新的秘密，則會AWS Secrets Manager開啟秘密視窗。

      1. 在**建立AWSSecrets Manager秘密視窗中**輸入下列資訊：

         1. 如果您選擇**基本身分驗證**，請輸入您複製的**秘密名稱**、**使用者名稱** (Drupal site user name) 和**密碼** (Drupal site password)，然後選擇**儲存和新增秘密**。

         1. 如果您選擇 **OAuth 2.0 身分驗證**，請輸入 Drupal 帳戶中產生的**秘密名稱**、**使用者名稱 **(Drupal site user name)、**密碼** (Drupal site password)、**用戶端 ID** 和**用戶端秘密**，然後選擇**儲存並新增秘密**。

      1. 選擇**儲存**。

   1. **Virtual Private Cloud (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. **IAMrole** - 選擇現有IAM角色或建立新的IAM角色，以存取您的儲存庫登入資料和索引內容。
**注意**  
IAM用於索引的 角色無法用於資料來源。如果您不確定現有角色是否用於索引或常見問答集，請選擇**建立新角色**以避免錯誤。

   1. 選擇**下一步**。

1. 在**設定同步設定**頁面上，輸入下列資訊：

   1. 針對**同步範圍**，從下列選項中選擇：
**注意**  
當您選擇爬取**文章**、**基本頁面**和**基本區塊**時，其預設欄位會自動同步處理。您也可以選擇同步處理其註解、附件、自訂欄位和其他自訂實體。

      1. 在**選取實體**區段中：
        +  **文章** — 選擇是否要爬取**文章**、其**評論**與**附件**。
        + **基本頁面** — 選擇是否要爬取**基本頁面**、其**評論**與**附件**。
        + **基本區塊** — 選擇是否要爬取**基本區塊**、其**評論**與**附件**。
        + 您也可以選擇新增**自訂內容類型**和**自訂區塊**。

   1. 對於**其他組態 – 選用**：
      + 對於 **Regex 模式** - 新增規則表達式模式，以包含或排除特定實體標題和檔案名稱。最多可新增 100 個模式。

   1. **同步模式** - 選擇您希望在資料來源內容變更時更新索引的方式。當您Amazon Kendra第一次使用 同步資料來源時，預設會爬取所有內容並編製索引。如果初始同步失敗，即使您未選擇完全同步做為同步模式選項，仍必須執行資料的完整同步。
      + 完全同步：新編製所有內容的索引，每次資料來源與索引同步時取代現有的內容。
      + 新的、已修改、已刪除的同步：每次資料來源與您的索引同步時，僅索引新的、已修改和已刪除的內容。 Amazon Kendra可以使用資料來源的機制來追蹤自上次同步以來變更的內容和索引內容。

   1. 在**同步執行排程**中，**頻率** - Amazon Kendra與您的資料來源同步的頻率。

   1. 選擇**下一步**。

1. 在**設定欄位映射**頁面上，輸入下列資訊：

   1. 對於**內容**、**評論**和**附件** - 從您要映射到索引的Amazon Kendra產生預設資料來源欄位中選取。

   1.  **新增欄位** - 新增自訂資料來源欄位，以建立要映射的索引欄位名稱和欄位資料類型。

   1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，檢查您輸入的資訊是否正確，然後選取**新增資料來源**。您也可以選擇從此頁面編輯您的資訊。成功新增資料來源後，您的**資料來源**將顯示在資料來源頁面上。

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

**Amazon Kendra連線至 Drupal**

您必須使用 [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-drupal-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 結構描述`DRUPAL`時，指定資料來源類型。當您呼叫 [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 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和索引內容。
  + `CHANGE_LOG` 每次資料來源與索引同步時， 只會編製新內容和修改內容的索引。Amazon Kendra 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和索引內容。
+ **秘密 Amazon Resource Name (ARN)** — 提供Secrets Manager秘密的 Amazon Resource Name (ARN)，其中包含您在 Drupal 帳戶中建立的身分驗證憑證。

  如果您使用基本身分驗證，秘密會存放在具有下列金鑰的 JSON 結構中：

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  如果您使用 OAuth 2.0 身分驗證，秘密會存放在具有下列金鑰的 JSON 結構中：

  ```
  {
      "username": "user name",
      "password": "password",
      "clientId": "client id",
      "clientSecret": "client secret"
  }
  ```
**注意**  
建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級，以確保自身安全。**我們不**建議您在資料來源以及連接器 1.0 和 2.0 版 （如適用） 之間重複使用登入資料和秘密。
+ **IAMrole** - 指定`RoleArn`您何時呼叫 `CreateDataSource` 以提供IAM角色存取Secrets Manager秘密的許可，以及呼叫 Drupal 連接器所需的公有 APIs 和 Amazon Kendra。如需詳細資訊，請參閱 [IAMDrupal 資料來源的角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

您也可以新增下列選用功能：
+  **Virtual Private Cloud (VPC)**—指定您呼叫 `VpcConfiguration`的時間`CreateDataSource`。如需詳細資訊，請參閱[設定 Amazon Kendra 以使用 Amazon VPC](vpc-configuration.md)。
+  **包含和排除篩選條件** - 您可以指定是否包含內容、註解和附件。您也可以指定規則表達式模式來包含或排除內容、註解和附件。
**注意**  
大多數資料來源使用規則表達式模式，作為包含或排除的篩選規則，稱為篩選條件。若您設定包含篩選條件，則只有符合該條件的內容會被編列索引。任何不符合包含篩選條件的文件都不會編製索引。如果您指定包含和排除篩選條件，則符合排除篩選條件的文件不會編製索引，即使它們符合包含篩選條件。
+ **身分爬蟲程式** - 指定是否開啟 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 來上傳使用者和群組存取資訊，以供使用者內容篩選使用。
+  **欄位映射** - 選擇將您的 Drupal 資料來源欄位映射至您的Amazon Kendra索引欄位。如需詳細資訊，請參閱[映射資料來源欄位](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。
**注意**  
需要文件內文欄位或文件內文對等項目， Amazon Kendra才能搜尋您的文件。您必須將資料來源中的文件內文欄位名稱映射至索引欄位名稱 `_document_body`。所有其他欄位是選用的。

如需其他要設定之重要 JSON 金鑰的清單，請參閱 [Drupal 範本結構描述](ds-schemas.md#ds-drupal-schema)。

------

## 備註
<a name="drupal-notes"></a>
+ Drupal APIs 沒有官方限流限制。
+ Java SDKs不適用於 Drupal。
+ 只能使用原生 JSON API 的 來擷取 Drupal 資料。
+ 無法編目未與任何 Drupal **View** 相關聯的內容類型。
+ 您需要管理員存取權才能從 Drupal **Blocks** 爬取資料。
+ 不支援透過 HTTP 動詞建立使用者自訂內容類型的 JSON API。
+ **文章**、**基本頁面**、**基本區塊**、使用者自訂內容類型與自訂區塊類型的文件內文與評論會以 HTML 格式顯示。若 HTML 內容格式不正確，HTML 標籤將顯示於文件內文與評論中，並會出現在 Amazon Kendra 搜尋結果中。
+ 沒有描述或內文的內容類型和**區塊**類型將不會導入Amazon Kendra。只有這類**內容**或**區塊**類型的**註解**和**附件**才會擷取到您的Amazon Kendra索引中。