本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Kendra 網絡爬蟲連接器 v2.0
您可以使用 Amazon Kendra Web 爬蟲來檢索和索引網頁。
您只能抓取使用安全通訊協定超文字傳輸通訊協定安全 (HTTPS) 的公開網站或公司內部網站。如果在網路爬取網站時收到錯誤訊息,可能是網站阻止網路爬取。要檢索內部網站,您可以設置 Web 代理。Web 代理必須面對公開。您也可以使用驗證來存取和檢索網站。
Amazon Kendra 網絡爬蟲 v2.0 使用硒網絡爬蟲包和鉻驅動程序。 Amazon Kendra 使用持續集成(CI)自動更新硒和鉻驅動程序的版本。
選取要索引的網站時,您必須遵守 Amazon 可接受的使用政策以及 Amazon所有其他條款。請記住,您只能使用 Amazon Kendra Web 爬蟲來索引您自己的網頁或您有權索引的網頁。要了解如何阻止 Amazon Kendra Web 爬蟲索引您的網站,請參閱設定 Amazon Kendra 網頁爬行者程式的robots.txt檔案。 。濫用 Amazon Kendra Web 爬蟲積極抓取您不擁有的網站或網頁是不被認為是可接受的使用。
如需 Amazon Kendra Web 爬行者程式資料來源連接器的疑難排解,請參閱疑難排解資料來。
Web 爬行者程式連接器 v2.0 不支援從加密儲存貯體檢索網站清單 AWS KMS 。 Amazon S3 它僅支援使用 Amazon S3 受管理金鑰的伺服器端加密。
不支援建立 Web 爬行者程式 v2.0 連接器。 AWS CloudFormation如果您需 AWS CloudFormation 要支援,請使用 Web 爬行者程式 v1.0 連接器。
支援的功能
必要條件
在您可以使用索引您 Amazon Kendra 的網站之前,請檢查您的網站和 AWS 帳戶的詳細資料。
對於您的網站,請確保您擁有:
-
複製您要索引的網站的種子或站點地圖 URL。您可以將 URL 儲存在文字檔案中,然後將其上傳到 Amazon S3
值區。文字檔案中的每個 URL 都必須以個別的行格式化。如果您想要將網站地圖儲存在 Amazon S3 值區中,請確定您已複製 Sitemap XML,並將其儲存在 XML 檔案中。您也可以將多個網站地圖 XML 檔案分割成 ZIP 檔案。
(預備內部/伺服器) Amazon Kendra 會檢查中包含的端點資訊 AWS Secrets Manager 是否與資料來源組態詳細資料中指定的端點資訊相同。這有助於防止混淆的副問題,這是一個安全性問題,即使用者沒有執行動作的權限,但用 Amazon Kendra 作 Proxy 來存取設定的密碼並執行動作。如果您稍後變更端點資訊,則必須建立新密碼才能同步此資訊。
-
對於需要基本、NTLM 或 Kerberos 驗證的網站:
-
記下您的網站驗證憑證,其中包括使用者名稱和密碼。
Amazon Kendra 網頁爬行者程式 v2.0 支援 NTLM 驗證通訊協定 (包括密碼雜湊),以及包含密碼加密的 Kerberos 驗證通訊協定。
-
對於需要 SAML 或登入表單驗證的網站:
-
選用性:如果您想要使用 Web Proxy 連線到想要編目的內部網站,請複製 Web Proxy 伺服器的主機名稱和連接埠號碼。Web 代理必須面對公開。 Amazon Kendra 支持連接到基本身份驗證支持的 Web 代理服務器,或者您可以在沒有身份驗證的情況下連接。
-
選用性:如果您想要使用 VPC 連線至要編目的內部網站,請複製虛擬私人雲端 (VPC) 子網路 ID。如需詳細資訊,請參閱配置 Amazon VPC.
-
檢查您要索引的每個網頁文檔是唯一的,並且在您計劃用於相同索引的其他數據源中。您要用於索引的每個資料來源不得包含跨資料來源的相同文件。文件 ID 對索引來說是全域的,而且每個索引必須是唯一的。
在您的 AWS 帳戶中,請確定您有:
-
建立 Amazon Kendra 索引,如果使用 API,則會記下索引識別碼。
-
為您的資料來源建立 IAM 角色,如果使用 API,請記下該 IAM 角色的 Amazon 資源名稱。
如果您變更驗證類型和認證,則必須更新 IAM 角色才能存取正確的 AWS Secrets Manager 密碼 ID。
-
對於需要身份驗證的網站,或者如果使用具有身份驗證的 Web 代理,則將您的身份驗證憑據存儲在 AWS Secrets Manager 密鑰中,並且如果使用 API,則會記錄密鑰的 ARN。
我們建議您定期重新整理或輪換您的認證和密碼。僅為您自己的安全提供必要的訪問級別。我們不建議您跨資料來源以及連接器 1.0 和 2.0 版 (如果適用) 重複使用認證和密碼。
如果您沒有現有的 IAM 角色或密碼,則可以在將web crawler資料來源連線到時使用主控台建立新 IAM 角色和 Secrets Manager 密碼 Amazon Kendra。如果您使用 API,則必須提供現有 IAM 角色和 Secrets Manager 密碼的 ARN,以及索引 ID。
連接說明
若要連線 Amazon Kendra 到web crawler資料來源,您必須提供資料來源的必要詳細web crawler資訊, Amazon Kendra 以便能夠存取您的資料。如果您尚未設定「 Amazon Kendra 請web crawler參閱必要條件」。
- Console
-
若要連線 Amazon Kendra 到 web crawler
-
登入 AWS Management Console 並開啟Amazon Kendra 主控台。
-
在左側導覽窗格中,選擇 [索引],然後從索引清單中選擇要使用的索引。
您可以選擇在索引設置下配置或編輯您的用戶訪問控制設置。
-
在 [開始使用] 頁面上,選擇 [新增資料來源]。
-
在 [新增資料來源] 頁面上,選擇 Web 爬行者程式連接器,然後選擇 [新增連接器]。如果使用第 2 版(如果適用),請選擇帶有「V2.0」標籤的 Web 爬行者程式連接器。
-
在 [指定資料來源詳細資訊] 頁面上,輸入下列資訊:
-
在名稱和說明中,對於資料來源名稱 — 輸入資料來源的名稱。您可以包含連字號,但不能包含空格。
-
(選擇性) 說明 — 輸入資料來源的選用說明。
-
在預設語言中 — 選擇一種語言來篩選索引的文件。除非另有指定,否則語言預設為英文。文件中繼資料中指定的語言會覆寫選取的語言。
-
在「標籤」中,針對「新增標籤」— 包含可選標籤以搜尋和篩選資源或追蹤 AWS 成本。
-
選擇下一步。
-
在 [定義存取權和安全性] 頁面上,輸入下列資訊:
-
來源 — 選擇「來源 URL」、「來源網站地圖」、「來源 URL 檔案」、「來源網站地圖」檔案。如果您選擇使用包含最多 100 個種子 URL 清單的文字檔案,請指定儲存檔案的 Amazon S3 值區路徑。如果您選擇使用 Sitemap XML 檔案,請指定儲存檔案的 Amazon S3 值區路徑。您也可以將多個網站地圖 XML 檔案分割成 ZIP 檔案。否則,您最多可以手動輸入 10 個種子或起點網址,以及最多三個 Sitemap 網址。
如果您要檢索 Sitemap,請檢查基礎或根網址是否與 Sitemap 頁面上列出的 URL 相同。例如,如果您的 Sitemap URL 是 https://example.com/sitemap-page.html,則此 Sitemap 頁面上列出的網址也應使用基本 URL「https://example.com/」。
如果您的網站需要驗證才能存取網站,您可以選擇以太基本版、NTLM/Kerberos、SAML 或表單驗證。否則,請選擇不驗證的選項。
如果您想要稍後編輯資料來源,以便透過網站地圖驗證來變更種子 URL,則必須建立新的資料來源。 Amazon Kendra 使用 Secrets Manager 密碼中的種子 URL 端點資訊來設定資料來源以進行驗證,因此在變更為網站地圖時,無法重新設定資料來源。
-
AWS Secrets Manager
秘密 — 如果您的網站需要相同的身份驗證才能訪問網站,請選擇現有的密碼或創建一個新的 Secrets Manager 密碼來存儲您的網站憑據。如果您選擇建立新密碼,則會開啟一個 AWS Secrets Manager 密碼視窗。
如果您選擇基本或 NTML/Kerberos 驗證,請輸入密碼的名稱,再加上使用者名稱和密碼。NTLM 驗證通訊協定包含密碼雜湊,而 Kerberos 驗證通訊協定則包含密碼加密。
如果您選擇 SAML 或表單驗證,請輸入密碼的名稱,再加上使用者名稱和密碼。使用 XPath 做為使用者名稱欄位 (如果使用 SAML,請使用 XPath 做為使用者名稱按鈕)。使用 XPath 作為密碼字段和按鈕,以及登錄頁面 URL。您可以使用 Web 瀏覽器的開發人員工具找到元素的 XPath(XML 路徑語言)。XPath 通常遵循以下格式://tagname[@Attribute='Value']
。
-
(選擇性) Web Proxy — 輸入您要用來連線至內部網站之 Proxy 伺服器的主機名稱和連接埠號碼。例如,的主機名稱https://a.example.com/page1.html是 "a.example.com",連接埠號碼是 443,也就是 HTTPS 的標準連接埠。如果需要 Web Proxy 憑證才能連線到網站主機,您可以建立儲存 AWS Secrets Manager 認證的。
-
V@@ irtual Private Cloud (VPC) (VPC) — 您可以選擇使用 VPC。如果是這樣,您必須新增子網路和 VPC 安全性群組。
-
IAM role — 選擇現有 IAM 角色或建立新 IAM 角色以存取存放庫認證和索引內容。
IAM 用於索引的角色不能用於資料來源。如果您不確定索引或常見問題集是否使用現有角色,請選擇 [建立新角色] 以避免發生錯誤。
-
選擇下一步。
-
在 [設定同步設定] 頁面上,輸入下列資訊:
-
同步範圍 — 設定抓取網頁 (包括網域、檔案大小和連結) 的限制;以及使用正則運算式模式篩選 URL。
-
(選擇性) 編目網域範圍 — 選擇是僅編目網站網域、具有子網域的網域,還是要編目網頁連結的其他網域。根據預設, Amazon Kendra 只會檢索您要檢索的網站的網域。
-
(選擇性) 其他組態 — 設定下列設定:
-
編目深度-從種子層級到爬網的「深度」或層級數。例如,種子 URL 頁面是深度 1,而此頁面上也經過探索的任何超連結都是深度 2。
-
檔案大小上限 — 要編目的網頁或附件的大小上限 (以 MB 為單位)。
-
每頁最大連結數 — 單一網頁上要檢索的 URL 數目上限。
-
編目速度的最大限制:每個網站主機每分鐘編目的 URL 數目上限。
-
檔案 — 選擇搜索網頁連結的檔案。
-
編目和索引 URL — 新增規則運算式模式以包含或排除檢索特定 URL,以及索引這些 URL 網頁上的任何超連結。
-
同步模式 — 選擇資料來源內容變更時要如何更新索引。當您第一次將資料來源同 Amazon Kendra 步處理時,依預設會檢索所有內容並建立索引。如果初始同步失敗,您必須執行資料的完整同步處理,即使您沒有選擇完整同步作為同步模式選項。
-
同步執行排程 — 對於「頻率」,請選擇與資料來源同步的頻率。 Amazon Kendra
-
選擇下一步。
-
在 [設定欄位對映] 頁面上,輸入下列資訊:
-
從 Amazon Kendra 產生的預設欄位中選取您要對應至索引的網頁和檔案。
-
選擇下一步。
-
在 [檢閱並建立] 頁面上,檢查您輸入的資訊是否正確,然後選取 [新增資料來源]。您也可以從此頁面選擇編輯您的資訊。成功新增資料來源後,您的資料來源將顯示在 [資料來源] 頁面上。
- API
-
若要連線 Amazon Kendra 到 web crawler
您必須使用 TemplateConfigurationAPI 指定資料來源結構描述的 JSON。您必須提供以下信息:
-
資料來源 — 指定使用 TemplateConfigurationJSON 結構定義WEBCRAWLERV2
時的資料來源類型。同時將資料來源指定為呼叫 CreateDataSourceAPI TEMPLATE
時的方式。
-
URL — 指定網站的種子或起點 URL,或是您要檢索之網站的 Sitemap URL。您可以指定儲存種子 URL 清單的 Amazon S3 值區路徑。種子 URL 的文字檔案中的每個 URL 都必須以個別的行格式化。您也可以指定儲存 Sitemap XML 檔案的 Amazon S3 值區路徑。您可以將多個 Sitemap 檔案合併為一個 ZIP 檔案,並將 ZIP 檔案儲存在 Amazon S3
值區中。
如果您要檢索 Sitemap,請檢查基礎或根網址是否與 Sitemap 頁面上列出的 URL 相同。例如,如果您的 Sitemap URL 是 https://example.com/sitemap-page.html,則此 Sitemap 頁面上列出的網址也應使用基本 URL「https://example.com/」。
-
同步模式 — 指定資料來源內容變更時 Amazon Kendra 應如何更新索引。當您第一次將資料來源同 Amazon Kendra 步處理時,依預設會檢索所有內容並建立索引。如果初始同步失敗,您必須執行資料的完整同步處理,即使您沒有選擇完整同步作為同步模式選項。您可以選擇:
-
驗證 — 如果您的網站需要相同的驗證,請指定BasicAuth
NTLM_Kerberos
、SAML
、或Form
驗證。如果您的網站不需要驗證,請指定NoAuthentication
。
-
秘密 Amazon 資源名稱 (ARN) — 如果您的網站需要基本、NTLM 或 Kerberos 身份驗證,您需要提供一個密碼來儲存您的使用者名稱和密碼身份驗證登入資料。您提供一個 AWS Secrets Manager 秘密的 Amazon 資源名稱(ARN)。密碼會以下列金鑰儲存在 JSON 結構中:
{
"seedUrlsHash": "Hash representation of all seed URLs
",
"userName": "user name
",
"password": "password
"
}
如果您的網站需要 SAML 驗證,密碼會以下列金鑰儲存在 JSON 結構中:
{
"seedUrlsHash": "Hash representation of all seed URLs
",
"userName": "user name
",
"password": "password
",
"userNameFieldXpath": "XPath for user name field
",
"userNameButtonXpath": "XPath for user name button
",
"passwordFieldXpath": "XPath for password field
",
"passwordButtonXpath": "XPath for password button
",
"loginPageUrl": "Full URL for website login page
"
}
如果您的網站需要表單驗證,密碼會以下列金鑰儲存在 JSON 結構中:
{
"seedUrlsHash": "Hash representation of all seed URLs
",
"userName": "user name
",
"password": "password
",
"userNameFieldXpath": "XPath for user name field
",
"passwordFieldXpath": "XPath for password field
",
"passwordButtonXpath": "XPath for password button
",
"loginPageUrl": "Full URL for website login page
"
}
您可以使用 Web 瀏覽器的開發人員工具找到元素的 XPath(XML 路徑語言)。XPath 通常遵循以下格式://tagname[@Attribute='Value']
。
您還可以使用和 AWS Secrets Manager 秘密提供 Web 代理憑據。
-
IAM role — 指定RoleArn
何時呼叫CreateDataSource
以提供具有存取 Secrets Manager 密碼之權限的 IAM 角色,以及呼叫 Web 爬行者程式連接器和所需公用 API 的時間。 Amazon Kendra如需詳細資訊,請參閱 Web 爬行者程式資料來源的IAM 角色。
您還可以添加以下可選功能:
-
V@@ irtual Private Cloud (VPC) — 指定您撥打電話的VpcConfiguration
時間。CreateDataSource
如需詳細資訊,請參閱 配置 Amazon Kendra 為使用 Amazon VPC。
-
網域範圍 — 選擇是否只檢索具有子網域的網站網域,還是檢索網頁連結的其他網域。根據預設, Amazon Kendra 只會檢索您要檢索的網站的網域。
-
從種子級別到爬網的「深度」或級別數。例如,種子 URL 頁面是深度 1,而此頁面上也經過探索的任何超連結都是深度 2。
-
單一網頁上要檢索的 URL 數目上限。
-
要抓取的網頁或附件的最大大小(以 MB 為單位)。
-
每分鐘每個網站主機網路爬取的 URL 數目上限。
-
用於連線和爬取內部網站的 Web Proxy 主機和連接埠號碼。例如,的主機名稱https://a.example.com/page1.html是 "a.example.com",連接埠號碼是 443,也就是 HTTPS 的標準連接埠。如果需要 Web Proxy 憑證才能連線到網站主機,您可以建立儲存 AWS Secrets Manager 認證的。
-
包含和排除篩選器 — 指定是否要包含或排除檢索特定 URL,以及為這些 URL 網頁上的任何超連結建立索引。
大多數資料來源使用規則運算式模式,這些模式是稱為篩選器的包含或排除模式。如果您指定包含篩選器,則只有符合包含項目篩選器的內容會編製索引。不符合包含篩選器的任何文件都不會建立索引。如果您指定包含和排除篩選器,符合排除篩選器的文件將不會建立索引,即使它們符合包含篩選器也是如此。
-
欄位對應 — 選擇此選項可將網頁和網頁檔案的欄位對應至 Amazon Kendra 索引欄位。如需詳細資訊,請參閱映射資料來源欄位。
如需要設定的其他重要 JSON 金鑰清單,請參閱Amazon Kendra 網路爬行者程式範本結構描述。