處理 Amazon 中的錯誤 CloudSearch - Amazon CloudSearch

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

處理 Amazon 中的錯誤 CloudSearch

本節提供有關 CloudSearch 以程式設計方式與 Amazon 互動時如何處理錯誤的資訊。如需 Amazon CloudSearch 服務傳回之特定錯誤碼的相關資訊,請參閱:

Amazon 中的錯誤類型 CloudSearch

Amazon CloudSearch API 傳回的 HTTP 狀態碼會指出要求是否成功完成,或是在處理要求時發生用戶端或伺服器錯誤:

  • 2xx 狀態碼表示已成功處理用戶端請求。

  • 4xx 狀態碼表示用戶端請求有問題。常見的用戶端請求錯誤包括提供的登入資料無效以及省略了必要參數。收到 4xx 錯誤時,您必須更正問題並重新提交格式正確的用戶端請求。

  • 5xx 狀態碼表示處理用戶端請求時發生伺服器錯誤。伺服器錯誤通常為暫時性,且往往是因伺服器逾時、調節或容量限制所致。建議您截獲並重試所有 5xx 錯誤。

每一次的請求均會傳回 HTTP 狀態碼。此外,回應的內文將提供額外的警告和錯誤資訊。

search 回應中的訊息指出搜尋請求出現問題的嚴重程度、警告或錯誤碼以及描述。如需搜尋服務可能傳回的警告和錯誤的清單,請參閱搜尋回應屬性 (JSON)搜尋回應元素 (XML)

documents/batch 回應中的錯誤和警告提供有關處理文件資料時發生剖析及驗證問題的資訊。如需詳細資訊,請參閱 documents/batch 回應 (JSON)documents/batch 回應 (XML)

組態服務回應所傳回的錯誤提供導致請求傳回 4xx 或 5xx 狀態碼的原因相關資訊。如需所有動作傳回的常見錯誤相關資訊,請參閱常見錯誤。專屬於特定動作的錯誤則列於 Amazon 的組態 API 參考 CloudSearch 的相應動作主題中。

在 Amazon 中重試請求 CloudSearch

為使您的應用程式能夠順暢執行,您需要內建邏輯來截獲並回應錯誤。典型的方法是在 try 區塊或 if-then 陳述式內實作您的請求。

建議您截獲並重試所有伺服器錯誤 (5xx)。由於請求管道中隨處皆有可能產生錯誤,除了就特定狀態碼進行任何特殊處理外,您還應針對非預期的 5xx 錯誤實作後援機制。

507 和 509 錯誤通常表示您的搜尋服務已超載。這可能是因為您提交的搜尋請求數量或複雜性所致。Amazon CloudSearch 通常會自動擴展以處理負載。由於部署其他搜尋執行個體需要一些時間,因此建議您使用指數輪詢重試原則來暫時降低要求率並將要求失敗率降至最低。如需詳細資訊,請參閱錯誤重試和指數輪詢

某些使用模式 (例如將複雜的搜尋查詢提交至單一小型搜尋執行個體) 有時可能會導致逾時,而不會觸發自動調整規模。如果您重複遇到很高的錯誤率,可以透過 Amazon CloudSearch 服務限制請求表單明確要求額外容量。

用戶端錯誤 (4xx) 通常表示您需要修改要求以更正問題 — 只要重試相同的要求,很可能會導致相同的錯誤。組態服務傳回的 409 個錯誤可能表示要求已遭拒,因為已達到資源限制。如需更多詳細資訊,請參閱 限制