

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

# 處理 Amazon CloudSearch 中的錯誤
<a name="error-handling"></a>

本節提供以程式設計方式與 Amazon CloudSearch 互動時如何處理錯誤的相關資訊。如需 Amazon CloudSearch 服務傳回之特定錯誤碼的相關資訊，請參閱：
+ [搜尋服務錯誤](search-api.md#search-service-errors)
+ [documents/batch 狀態碼](documents-batch-resource.md#documents-batch-status-codes)
+ [組態服務常見錯誤](CommonErrors.md)。關於特定動作可能傳回的具體錯誤資訊，請參閱相應[動作](API_Operations.md)的文件。

**Topics**
+ [Amazon CloudSearch 中的錯誤類型](#error-handling-types)
+ [在 Amazon CloudSearch 中重試請求](#error-handling-retry)

## Amazon CloudSearch 中的錯誤類型
<a name="error-handling-types"></a>

Amazon CloudSearch APIs 傳回的 HTTP 狀態碼會指出請求是否成功完成，或在處理請求時發生用戶端或伺服器錯誤：
+ 2xx 狀態碼表示已成功處理用戶端請求。
+ 4xx 狀態碼表示用戶端請求有問題。常見的用戶端請求錯誤包括提供的登入資料無效以及省略了必要參數。收到 4xx 錯誤時，您必須更正問題並重新提交格式正確的用戶端請求。
+ 5xx 狀態碼表示處理用戶端請求時發生伺服器錯誤。伺服器錯誤通常為暫時性，且往往是因伺服器逾時、調節或容量限制所致。建議您截獲並重試所有 5xx 錯誤。

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

`search` 回應中的訊息指出搜尋請求出現問題的嚴重程度、警告或錯誤碼以及描述。如需搜尋服務可能傳回的警告和錯誤的清單，請參閱[搜尋回應屬性 (JSON)](search-api.md#search-response-elements-json) 或[搜尋回應元素 (XML)](search-api.md#search-response-elements-xml)。

`documents/batch` 回應中的錯誤和警告提供有關處理文件資料時發生剖析及驗證問題的資訊。如需詳細資訊，請參閱 [documents/batch 回應 (JSON)](documents-batch-resource.md#documents-batch-json-response) 或 [documents/batch 回應 (XML)](documents-batch-xml.md#documents-batch-xml-response)。

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

## 在 Amazon CloudSearch 中重試請求
<a name="error-handling-retry"></a>

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

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

507 和 509 錯誤通常表示您的搜尋服務超載。這可能是因為您提交的搜尋請求數量或複雜性所致。Amazon CloudSearch 通常會自動擴展以處理負載。因為部署其他搜尋執行個體需要一些時間，我們建議您使用指數退避重試政策來暫時降低請求率，並將請求失敗降至最低。如需詳細資訊，請參閱[錯誤重試和指數退避](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)。

某些使用模式，例如將複雜的搜尋查詢提交至單一小型搜尋執行個體，有時可能會導致逾時，而不會觸發自動擴展。如果您重複遇到高錯誤率，您可以透過 Amazon CloudSearch [Service Limit Request ](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudsearch-partitions-and-instances)表單明確請求額外的容量。

用戶端錯誤 (4xx) 通常表示您需要修改請求以修正問題，只要重試相同的請求，就很有可能導致相同的錯誤。組態服務傳回的 409 個錯誤可能表示請求已被拒絕，因為已達到資源限制。如需詳細資訊，請參閱[限制](limits.md)。