本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon KendraWeb 爬蟲程式連接器 2.0 版
您可以使用 Amazon KendraWeb 爬蟲程式來編目和編製網頁索引。
您只能網路爬取公開網站或使用安全通訊協定超文字傳輸通訊協定安全 (HTTPS) 的內部公司網站。如果在網路爬取網站時收到錯誤訊息,可能是網站阻止網路爬取。若要爬取內部網站,可設定 Web 代理伺服器。Web 代理伺服器必須可供公網存取。也可透過驗證方式存取並爬取網站。
Amazon KendraWeb Crawler v2.0 使用 Selenium Web 爬蟲程式套件和 Chromium 驅動程式。 會使用持續整合 (CI) Amazon Kendra自動更新 Selenium 和 Chromium 驅動程式的版本。
選取要索引的網站時,您必須遵守 Amazon 可接受的使用政策以及 Amazon所有其他條款。請記住,您只能使用 Amazon KendraWeb Crawler 為您自己的網頁或您有權編製索引的網頁編製索引。若要了解如何停止 Amazon KendraWeb Crawler 為您的網站編製索引 (請參閱 為 Amazon KendraWeb 爬蟲程式設定 robots.txt 檔案),請參閱 。濫用 Amazon KendraWeb Crawler 來積極地爬取非您所擁有的網站或網頁,並不被視為可接受使用。
如需對 Amazon KendraWeb 爬蟲程式資料來源連接器進行故障診斷,請參閱 對資料來源進行故障診斷。
Web Crawler 連接器 v2.0 不支援從AWS KMS加密儲存Amazon S3貯體中爬取網站清單。它僅支援使用Amazon S3受管金鑰的伺服器端加密。
不支援建立 Web Crawler v2.0 連接器。CloudFormation如果您需要CloudFormation支援,請使用 Web Crawler v1.0 連接器。
支援的功能
先決條件
在您可以使用 Amazon Kendra為網站編製索引之前,請檢查網站和AWS帳戶的詳細資訊。
對於您的網站,請確定您有:
-
複製您要編製索引之網站的種子或網站地圖 URLs。您可以將 URLs存放在文字檔案中,並將其上傳至 儲存Amazon S3貯體。文字檔案中的每個 URL 必須單獨位於一行。如果您想要將網站地圖存放在 Amazon S3儲存貯體中,請確定您已複製網站地圖 XML,並將其儲存在 XML 檔案中。您也可以將多個網站地圖 XML 檔案合併為 ZIP 檔案。
(內部部署/伺服器) 會Amazon Kendra檢查 中包含的端點資訊是否AWS Secrets Manager與資料來源組態詳細資訊中指定的端點資訊相同。這有助於防止混淆代理人問題,這是一個安全問題,其中使用者沒有執行動作的許可,但使用 Amazon Kendra做為代理來存取設定的秘密並執行動作。如果您稍後變更端點資訊,則必須建立新的秘密才能同步此資訊。
-
若網站需要基本身分驗證、NTLM 驗證或 Kerberos 身分驗證:
-
若網站需要 SAML 或登入表單驗證:
-
選用:如果您想要使用 Web 代理連線到您要抓取的內部網站,請複製 Web 代理伺服器的主機名稱和連接埠號碼。Web 代理必須是公開面向。Amazon Kendra支援連接到基本身分驗證支援的 Web 代理伺服器,或者您可以不使用身分驗證進行連線。
-
選用:若要使用虛擬私有雲端 (VPC) 連接至您要爬取的內部網站,請複製 VPC 子網路 ID。如需詳細資訊,請參閱設定 Amazon VPC。
-
已檢查每個您要編製索引的網頁文件是唯一的,而且在您計劃用於相同索引的其他資料來源中也是如此。您要用於索引的每個資料來源不得包含跨資料來源的相同文件。文件 IDs是索引的全域 ID,且每個索引必須是唯一的。
在您的帳戶中AWS,請確定您有:
-
建立Amazon Kendra索引,如果使用 API, 會記下索引 ID。
-
為您的資料來源建立 IAM角色,如果使用 API, 會記下IAM角色的 Amazon Resource Name。
如果您變更身分驗證類型和登入資料,則必須更新您的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才能存取您的資料。如果您尚未設定 web crawler ,Amazon Kendra請參閱 先決條件。
- Console
-
Amazon Kendra連線至 web crawler
-
登入 AWS 管理主控台並開啟 Amazon Kendra主控台。
-
從左側導覽窗格中,選擇索引,然後從索引清單中選擇您要使用的索引。
您可以選擇在索引設定下設定或編輯使用者存取控制設定。
-
在入門頁面上,選擇新增資料來源。
-
在新增資料來源頁面上,選擇 Web 爬蟲程式連接器,然後選擇新增連接器。如果使用第 2 版 (如適用),請選擇具有「V2.0」標籤的 Web 爬蟲程式連接器。
-
在指定資料來源詳細資訊頁面上,輸入下列資訊:
-
在名稱和描述中,針對資料來源名稱 - 輸入資料來源的名稱。您可以包含連字號,但不能包含空格。
-
(選用) 描述 — 輸入資料來源的選用描述。
-
在預設語言 - 選擇語言來篩選索引的文件。除非您另有指定,否則語言預設為英文。文件中繼資料中指定的語言會覆寫選取的語言。
-
在標籤中,針對新增標籤 - 包含選用標籤,以搜尋和篩選您的資源或追蹤您的AWS成本。
-
選擇下一步。
-
在定義存取和安全性頁面上,輸入下列資訊:
-
來源 - 選擇來源 URLs、來源網站地圖、來源 URLs 檔案、來源網站地圖檔案。如果您選擇使用包含最多 100 URLs 清單的文字檔案,您可以指定儲存檔案的Amazon S3儲存貯體路徑。如果您選擇使用網站地圖 XML 檔案,您可以指定儲存檔案的儲存Amazon S3貯體路徑。您也可以將多個網站地圖 XML 檔案合併為 ZIP 檔案。否則,您可手動輸入最多 10 個種子/起點 URL,以及最多 3 個網站地圖 URL。
若要由編目程式爬取網站地圖,請確認基礎或根 URL 是否與網站地圖頁面中列出的 URL 相同。例如:若您的網站地圖 URL 為 https://example.com/sitemap-page.html,則該網站地圖頁面中列出的 URL 也必須使用相同的基本 URL "https://example.com/"。
如果您的網站需要身分驗證才能存取網站,您可以選擇基本、NTLM/Kerberos、SAML 或表單身分驗證。否則,請選擇沒有身分驗證的選項。
如果您想要稍後編輯資料來源以將具有身分驗證URLs 變更為網站地圖,則必須建立新的資料來源。 會使用Secrets Manager秘密中的種子 URLs端點資訊Amazon Kendra來設定資料來源以進行身分驗證,因此在變更為網站地圖時無法重新設定資料來源。
-
AWS Secrets Manager 秘密:如果您的網站需要相同的身分驗證才能存取網站,請選擇現有的秘密或建立新的Secrets Manager秘密來存放您的網站登入資料。如果您選擇建立新的秘密,則會開啟AWS Secrets Manager秘密視窗。
如果您選擇基本或 NTML/Kerberos 身分驗證,請輸入秘密的名稱,以及使用者名稱和密碼。NTLM 驗證協定包含密碼雜湊,Kerberos 身分驗證協定包含密碼加密。
如果您選擇 SAML 或表單身分驗證,請輸入秘密的名稱,以及使用者名稱和密碼。將 XPath 用於使用者名稱欄位 (如果使用 SAML,則將 XPath 用於使用者名稱按鈕)。密碼欄位和按鈕以及登入頁面 URL 使用 XPaths。您可使用網頁瀏覽器的開發人員工具尋找元素的 XPath (XML 路徑語言)。XPath 通常採用以下格式://tagname[@Attribute='Value']。
-
(選用) Web 代理 — 輸入要用來連線至內部網站的代理伺服器主機名稱和連接埠號碼。例如, 的主機名稱https://a.example.com/page1.html為 "a.example.com",連接埠號碼為 443,HTTPS 的標準連接埠。如果需要 Web 代理登入資料才能連線到網站主機,您可以建立 AWS Secrets Manager來存放登入資料。
-
Virtual Private Cloud (VPC) — 您可以選擇使用 VPC。若是如此,您必須新增子網路和 VPC 安全群組。
-
IAMrole - 選擇現有IAM角色或建立新的IAM角色,以存取您的儲存庫登入資料和索引內容。
IAM用於索引的 角色無法用於資料來源。如果您不確定現有角色是否用於索引或常見問答集,請選擇建立新角色以避免錯誤。
-
選擇下一步。
-
在設定同步設定頁面上,輸入下列資訊:
-
同步範圍 - 設定網路爬取網頁的限制,包括其網域、檔案大小和連結;以及使用 regex 模式篩選 URLs。
-
(選用) 爬取網域範圍 - 選擇是否僅爬取網站網域、具有子網域的網域,還是也要爬取網頁連結的其他網域。根據預設, Amazon Kendra只會編目您要編目的網站網域。
-
(選用) 其他組態 - 設定下列設定:
-
爬蟲深度 - 從種子層級到爬蟲的「深度」或關卡數量。例如,種子 URL 頁面為深度 1,此頁面上也爬取的任何超連結為深度 2。
-
檔案大小上限 - 要爬取之網頁或附件的大小上限,以 MB 為單位。
-
每頁連結上限 — 單一網頁上要爬取URLs 數目上限。
-
爬取速度的最大限流 — 每分鐘每個網站主機爬取URLs 數目上限。
-
檔案 - 選擇編目網頁連結的檔案。
-
爬取和索引 URLs - 新增規則表達式模式,以包含或排除爬取特定 URLs,並對這些 URL 網頁上的任何超連結編製索引。
-
同步模式 - 選擇您希望在資料來源內容變更時更新索引的方式。當您Amazon Kendra第一次使用 同步資料來源時,預設會爬取所有內容並編製索引。如果初始同步失敗,即使您未選擇完全同步做為同步模式選項,仍必須執行資料的完整同步。
-
同步執行排程 - 針對頻率,選擇與您的資料來源Amazon Kendra同步的頻率。
-
選擇下一步。
-
在設定欄位映射頁面上,輸入下列資訊:
-
從您要映射至索引的網頁和檔案Amazon Kendra產生的預設欄位中選取 。
-
選擇下一步。
-
在檢閱和建立頁面上,檢查您輸入的資訊是否正確,然後選取新增資料來源。您也可以選擇從此頁面編輯您的資訊。成功新增資料來源後,您的資料來源將顯示在資料來源頁面上。
- API
-
Amazon Kendra連線至 web crawler
您必須使用 TemplateConfiguration API 指定資料來源結構描述的 JSON。您必須提供下列資訊:
-
資料來源 - 當您使用 TemplateConfiguration JSON 結構描述WEBCRAWLERV2時,指定資料來源類型。當您呼叫 CreateDataSource API TEMPLATE時,也請將資料來源指定為 。
-
URLs - 指定網站的種子或起點 URLs,或您要抓取的網站的網站地圖 URLs。您可以指定儲存種子 URLs 清單的 Amazon S3儲存貯體路徑。種子 URL 的文字檔案中的每個 URLs 都必須在單獨的一行上格式化。您也可以指定儲存網站地圖 XML 檔案之 Amazon S3儲存貯體的路徑。您可以將多個網站地圖檔案合併到 ZIP 檔案中,並將 ZIP 檔案存放在您的Amazon S3儲存貯體中。
若要由編目程式爬取網站地圖,請確認基礎或根 URL 是否與網站地圖頁面中列出的 URL 相同。例如:若您的網站地圖 URL 為 https://example.com/sitemap-page.html,則該網站地圖頁面中列出的 URL 也必須使用相同的基本 URL "https://example.com/"。
-
同步模式 - 指定 Amazon Kendra如何在資料來源內容變更時更新索引。當您第一次使用 Amazon Kendra同步資料來源時,預設會爬取所有內容並編製索引。如果初始同步失敗,即使您未選擇完全同步做為同步模式選項,仍必須執行資料的完整同步。您可以選擇:
-
身分驗證 - 如果您的網站需要相同的身分驗證,請指定 BasicAuth、SAML、 NTLM_Kerberos或 Form身分驗證。如果您的網站不需要身分驗證,請指定 NoAuthentication。
-
機密 Amazon Resource Name (ARN):如果您的網站需要基本、NTLM 或 Kerberos 身分驗證,您會提供機密來存放使用者名稱和密碼的身分驗證憑證。您提供AWS Secrets Manager秘密的 Amazon Resource Name (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"
}
您可使用網頁瀏覽器的開發人員工具尋找元素的 XPath (XML 路徑語言)。XPath 通常採用以下格式://tagname[@Attribute='Value']。
您也可以使用 和 AWS Secrets Manager秘密提供 Web 代理登入資料。
-
IAMrole—指定RoleArn您何時呼叫 CreateDataSource 以提供IAM角色存取Secrets Manager秘密的許可,以及呼叫 Web 爬蟲程式連接器所需的公有 APIs 和 Amazon Kendra。如需詳細資訊,請參閱 IAMWeb 爬蟲程式資料來源的角色。
您也可以新增下列選用功能:
-
Virtual Private Cloud (VPC) — 指定VpcConfiguration何時呼叫 CreateDataSource。如需詳細資訊,請參閱設定 Amazon Kendra以使用Amazon VPC。
-
網域範圍 - 選擇是否只使用子網域來編目網站網域,還是也編目網頁連結的其他網域。根據預設, Amazon Kendra只會編目您要編目的網站網域。
-
從種子層級到爬取的「深度」或關卡數量。例如,種子 URL 頁面為深度 1,此頁面上也爬取的任何超連結為深度 2。
-
單一網頁上要爬取URLs 數目上限。
-
要爬取之網頁或附件的大小上限,以 MB 為單位。
-
每分鐘每個網站主機網路爬取的 URL 數目上限。
-
要連線至 和網路爬取內部網站的 Web 代理主機和連接埠號碼。例如, 的主機名稱https://a.example.com/page1.html為 "a.example.com",連接埠號碼為 443,HTTPS 的標準連接埠。如果需要 Web 代理登入資料才能連線到網站主機,您可以建立 AWS Secrets Manager來存放登入資料。
-
包含和排除篩選條件 - 指定是否包含或排除編目特定 URLs並為這些 URL 網頁上的任何超連結編製索引。
大多數資料來源使用規則表達式模式,作為包含或排除的篩選規則,稱為篩選條件。若您設定包含篩選條件,則只有符合該條件的內容會被編列索引。任何不符合包含篩選條件的文件都不會編製索引。如果您指定包含和排除篩選條件,則符合排除篩選條件的文件不會編製索引,即使它們符合包含篩選條件。
-
欄位映射 - 選擇將網頁和網頁檔案的欄位映射到您的Amazon Kendra索引欄位。如需詳細資訊,請參閱映射資料來源欄位。
如需要設定的其他重要 JSON 金鑰清單,請參閱 Amazon KendraWeb 爬蟲程式範本結構描述。