本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
圖形引擎錯誤訊息和代碼
Amazon Neptune 端點遇到錯誤時,會傳回 Gremlin 和 SPARQL 的標準錯誤。
也可以從相同的端點傳回 Neptune 的特定錯誤。本節記錄 Neptune 錯誤訊息、代碼和建議的動作。
注意
這些錯誤僅發生在 Neptune 資料庫叢集端點。若是 AWS SDK 和 AWS CLI,其用來建立和修改 Neptune 資源的 API 具有不同的常見錯誤集。如需這些錯誤的資訊,請參閱資料庫叢集管理 API 錯誤訊息和代碼。
圖形引擎錯誤格式
Neptune 錯誤訊息傳回相關的 HTTP 錯誤代碼和 JSON 格式回應。
HTTP/1.1 400 Bad Request x-amzn-RequestId: LDM6CJP8RMQ1FHKSC1RBVJFPNVV4KQNSO5AEMF66Q9ASUAAJG Content-Type: application/x-amz-json-1.0 Content-Length: 465 Date: Thu, 15 Mar 2017 23:56:23 GMT { "requestId": "
0dbcded3-a9a1-4a25-b419-828c46342e47
", "code": "ReadOnlyViolationException
", "detailedMessage": "The request is rejected because it violates some read-only restriction, such as a designation of a replica as read-only.
" }
圖形引擎查詢錯誤
下表包含錯誤代碼、訊息和 HTTP 狀態。
也會指出是否可以重試請求。一般而言,如果新嘗試可能成功,就可以重試請求。
Neptune Service Error Code | HTTP status | Ok to Retry? | Message |
---|---|---|---|
AccessDeniedException |
403 | No | Authentication or authorization failure. |
BadRequestException |
400 | No | The request could not be completed. |
BadRequestException |
400 | No | Request size exceeds max allowed value of 157286400 bytes. |
CancelledByUserException |
500 | Yes | The request processing was cancelled by an authorized client. |
ConcurrentModificationException |
500 | Yes | The request processing did not succeed due to a modification conflict. The client should retry the request. |
ConstraintViolationException |
400 | Yes | The query engine discovered, during the execution of the request, that the completion of some operation is impossible without violating some data integrity constraints, such as persistence of in- and out-vertices while adding an edge. Such conditions are typically observed if there are concurrent modifications to the graph, and are transient. The client should retry the request. |
FailureByQueryException |
500 | Yes | Calling fail() caused request processing to fail. |
InternalFailureException |
500 | Yes | The request processing has failed. |
InvalidNumericDataException |
400 | No | Invalid use of numeric data which cannot be represented in 64-bit storage size. |
InvalidParameterException |
400 | No | An invalid or out-of-range value was supplied for some input parameter or invalid syntax in a supplied RDF file. |
MalformedQueryException |
400 | No | The request is rejected because it contains a query that is syntactically incorrect or does not pass additional validation. |
MemoryLimitExceededException |
500 | Yes | The request processing did not succeed due to lack of memory, but can be retried when the server is less busy. |
MethodNotAllowedException |
405 | No | The request is rejected because the chosen HTTP method is not supported by the used endpoint. |
MissingParameterException |
400 | No | A required parameter for the specified action is not supplied. |
QueryLimitExceededException |
500 | Yes | The request processing did not succeed due to the lack of a limited resource, but can be retried when the server is less busy. |
QueryLimitException |
400 | No | Size of query exceeds system limit. |
QueryTooLargeException |
400 | No | The request was rejected because its body is too large. |
ReadOnlyViolationException |
400 | No | The request is rejected because it violates some read-only restriction, such as a designation of a replica as read-only. |
ThrottlingException |
500 | Yes | Rate of requests exceeds the maximum throughput. OK to retry. |
TimeLimitExceededException |
500 | Yes | The request processing timed out. |
TooManyRequestsException |
429 | Yes | The rate of requests exceeds the maximum throughput. OK to retry. |
UnsupportedOperationException |
400 | No | The request uses a currently unsupported feature or construct. |
IAM 身分驗證錯誤
這些錯誤只發生在有啟用 IAM 身分驗證的叢集。
下表包含錯誤代碼、訊息和 HTTP 狀態。
Neptune Service Error Code | HTTP status | Message |
---|---|---|
Incorrect IAM User/Policy | 403 | You do not have sufficient access to perform this action. |
Incorrect or Missing Region | 403 | Credential should be scoped to a valid Region, not
'region '. |
Incorrect or Missing Service Name | 403 | Credential should be scoped to correct service: 'neptune-db '. |
Incorrect or Missing Host Header / Invalid Signature | 403 | The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. Host header is missing or hostname is incorrect. |
Missing X-Amz-Security-Token |
403 | 'x-amz-security-token ' is named as a SignedHeader , but it
does not exist in the HTTP request |
Missing Authorization Header | 403 | The request did not include the required authorization header, or it was malformed. |
Missing Authentication Token | 403 | Missing Authentication Token. |
Old Date | 403 | Signature expired: 20181011T213907Z is now earlier than
20181011T213915Z
(20181011T214415Z - 5 分鐘 .) |
Future Date | 403 | Signature not yet current: 20500224T213559Z is still
later than 20181108T225925Z
(20181108T225425Z + 5 分鐘 .) |
Incorrect Date Format | 403 | Date must be in ISO-8601 'basic format'. Got 'date '. See
https://en.wikipedia.org/wiki/ISO_8601 |
Unknown/Missing Access Key or Session Token | 403 | The security token included in the request is invalid. |
Unknown/Missing Secret Key | 403 | The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. Host header is missing or hostname is incorrect. |
TooManyRequestsException |
429 | The rate of requests exceeds the maximum throughput. OK to retry. |