了解暫時性錯誤
在本節中,我們會針對 Azure Cosmos DB 服務無法使用的例外狀況,進行診斷和疑難排解。 當要求傳回狀態碼 503 時,我們通常能夠識別出此例外狀況。 這表示作業無法完成,因為服務無法使用。 有數個原因會導致引發此例外狀況。 可能會因為網路連線能力或服務可用性問題而傳回此狀態碼。 在大部分情況下,您可以放心重試作業,而且問題可能已獲得解決。 如果問題持續發生,您必須連絡 Azure 支援。 讓我們評估傳回此狀態碼時的三個主要案例。
所需的連接埠遭到封鎖
確認已針對 SQL API 啟用下列連接埠。
連線模式 | 支援的通訊協定 | 支援的 SDK | API/服務連接埠 |
---|---|---|---|
閘道 | HTTPS | 所有 SDK | SQL (443) |
直接 | TCP | .NET SDK、Java SDK | 使用公用/服務端點時:10000 到 20000 範圍中的連接埠。 使用私人端點時:0 到 65535 範圍中的連接埠 |
用戶端暫時性連線問題
有暫時性連線能力問題而造成逾時的時候,就會發生此例外狀況。 與此案例相關的堆疊追蹤會包含 TransportException
錯誤。 此錯誤的樣貌可能會是:
TransportException: A client transport error occurred: The request timed out while waiting for a server response.
(Time: xxx, activity ID: xxx, error code: ReceiveTimeout [0x0010], base error: HRESULT 0x80131500
此錯誤應該像要求逾時錯誤 (狀態碼 408) 一樣地進行疑難排解。
服務中斷
請查看 Azure 狀態頁面,確認目前是否有問題發生。