本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon Neptune 上使用 OpenCypher 時,可能會發生各種例外狀況。以下是您可能從 HTTPS 端點或 Bolt 驅動程式收到的常見例外狀況 (來自 Bolt 驅動程式的所有例外都會報告為伺服器狀態例外狀況):
HTTP 代碼 | 錯誤訊息 | 是否可擷取? | 修正方式 |
---|---|---|---|
400 |
(語法錯誤,直接從 OpenCypher 剖析器傳播) |
否 |
更正查詢語法,然後再試一次。 |
500 |
|
是 |
重新設計查詢以新增其他篩選條件,來減少所需的記憶體 |
500 |
操作已終止 (超過截止日期) |
是 |
增加資料庫叢集參數群組中的查詢逾時,或重試請求。 |
500 |
操作已終止 (遭使用者取消) |
是 |
重試 請求。 |
500 |
資料庫重設正在進行中。請在叢集可用之後重試查詢。 |
是 |
重設完成時再試一次。 |
500 |
操作失敗,因為並行操作發生衝突 (請再試一次)。交易目前正在復原。 |
是 |
使用指數退避和重試策略再試一次。 |
400 |
|
否 |
不支援指定的操作。 |
400 |
已嘗試在唯讀複本上進行 openCypher 更新 |
否 |
將目標端點變更為寫入器端點。 |
400 |
MalformedQueryException (Neptune 不會顯示內部剖析器狀態) |
否 |
更正查詢語法,然後再試一次。 |
400 |
無法刪除節點,因為它仍然具有關係。若要刪除此節點,您必須先刪除其關係。 |
否 |
請使用 |
400 |
無效的操作:正在嘗試移除節點的最後一個標籤。一個節點必須至少具有一個標籤。 |
否 |
Neptune 要求所有節點至少有一個標籤,如果節點建立時沒有用標籤明確標示,則會指派預設標籤 |
500 |
已違反請求數目上限,connId = {} 的 ConfiguredQueueCapacity={} |
是 |
無論堆疊和通訊協定為何,目前都只能處理 8,192 個並行請求。 |
500 |
已違反最大連線限制。 |
是 |
只允許每個執行個體 1000 個並行 Bolt 連線 (對於 HTTP 沒有限制)。 |
400 |
預期 [其中一個:節點、關係或路徑],卻得到常值 |
否 |
檢查您是否正在傳遞正確的參數、更正查詢語法,然後再試一次。 |
400 |
屬性值必須是簡單的常值。或者:預期 Set 屬性的映射,但找不到一個。 |
否 |
SET 子句只接受簡單常數,不接受複合類型。 |
400 |
找不到傳遞的實體進行刪除 |
否 |
檢查您正在嘗試刪除的實體是否存在於資料庫中。 |
400 |
使用者沒有資料庫的存取權。 |
否 |
檢查正在使用的 IAM 角色的政策。 |
400 |
沒有權杖做為請求的一部分傳遞 |
否 |
在啟用 IAM 的叢集上,必須將正確簽署的權杖做為查詢請求的一部分傳遞。 |
400 |
傳播錯誤訊息。 |
否 |
使用請求 ID 聯絡 AWS 支援。 |
500 |
操作已終止 (內部錯誤) |
是 |
使用請求 ID 聯絡 AWS 支援。 |