

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Neptune openCypher 예외
<a name="access-graph-opencypher-exceptions"></a>

Amazon Neptune에서 openCypher를 사용할 때 다양한 예외가 발생할 수 있습니다. 다음은 HTTPS 엔드포인트 또는 Bolt 드라이버에서 발생할 수 있는 일반적인 예외입니다. Bolt 드라이버의 모든 예외는 서버 상태 예외로 보고됩니다.


| HTTP 코드 | 오류 메시지 | 재시도 가능 여부 | 해결 방법 | 
| --- | --- | --- | --- | 
| 400 | *(구문 오류, openCypher 구문 분석기에서 직접 전파됨)* | 아니요 | 쿼리 구문을 수정한 후 다시 시도하세요. | 
| 500 | `Operation terminated (out of memory)` | 예 | 필요한 메모리를 줄이려면 쿼리를 재작업하여 필터링 기준을 추가하세요. | 
| 500 | 작업 종료(기한 초과) | 예 | DB 클러스터 파라미터 그룹에서 쿼리 제한 시간을 늘리거나 [요청을 재시도하세요](https://docs.aws.amazon.com/general/latest/gr/api-retries.html). | 
| 500 | 작업 종료(사용자에 의한 취소) | 예 | 요청을 다시 시도하세요. | 
| 500 | 데이터베이스 재설정이 진행 중입니다. 클러스터를 사용할 수 있게 되면 쿼리를 다시 시도하세요. | 예 | 재설정이 완료되면 다시 시도하세요. | 
| 500 | 동시 작업 충돌로 인해 작업이 실패했습니다. 다시 시도하세요. 트랜잭션이 현재 롤백 중입니다. | 예 | [지수 백오프 및 재시도 전략](best-practices-opencypher-retry-logic.md)을 사용하여 재시도하세요. | 
| 400 | *(작업 이름)* 작업/기능이 지원되지 않는 예외 | 아니요 | 지정한 작업을 지원하지 않습니다. | 
| 400 | 읽기 전용 복제본에서 openCypher 업데이트를 시도했습니다. | 아니요 | 대상 엔드포인트를 라이터 엔드포인트로 변경합니다. | 
| 400 | MalformedQueryException(Neptune은 내부 구문 분석기 상태를 표시하지 않음) | 아니요 | 쿼리 구문을 수정하고 다시 시도하세요. | 
| 400 | 노드에 아직 관계가 있으므로, 노드를 삭제할 수 없습니다. 이 노드를 삭제하려면 먼저 노드의 관계를 삭제해야 합니다. | 아니요 | `MATCH (n) DELETE n`을 사용하는 대신 `MATCH(n) DETACH DELETE(n)`를 사용하세요. | 
| 400 | 잘못된 작업: 노드의 마지막 레이블을 제거하려고 합니다. 노드에는 레이블이 하나 이상 있어야 합니다. | 아니요 | Neptune 사용 시 모든 노드에 적어도 하나의 레이블이 있어야 하며, 명시적 레이블 없이 노드를 생성하면 기본 레이블 `vertex`가 할당됩니다. 마지막 레이블이 삭제되지 않도록 쿼리 및/또는 애플리케이션 로직을 변경하세요. 새 레이블을 설정한 다음 기존 레이블을 제거하여 노드의 싱글톤 레이블을 업데이트할 수 있습니다. | 
| 500 | 최대 요청 수를 지키지 못했습니다(connId = \$1\$1의 경우 ConfiguredQueueCapacity=\$1\$1) | 예 | 스택과 프로토콜에 관계없이 현재는 8,192개의 동시 요청만 처리할 수 있습니다. | 
| 500 | 최대 연결 한도를 지키지 못했습니다. | 예 | 인스턴스당 1,000개의 동시 Bolt 연결만 허용됩니다(HTTP의 경우 제한 없음). | 
| 400 | [one of: Node, Relationship or Path]가 예상되고 리터럴을 받았습니다. | 아니요 | 올바른 인수, 올바른 쿼리 구문을 전달했는지 확인한 다음 다시 시도하세요. | 
| 400 | 속성값은 단순 리터럴이어야 합니다. Or: Expected Map for Set 속성이지만, 찾지 못했습니다. | 아니요 | SET 절은 복합 형식이 아닌 단순 리터럴만 허용합니다. | 
| 400 | 삭제를 위해 전달된 것으로 확인된 엔터티를 찾을 수 없습니다. | 아니요 | 삭제하려는 엔터티가 데이터베이스에 있는지 확인하세요. | 
| 400 | 사용자가 데이터베이스에 액세스할 수 없습니다. | 아니요 | 사용 중인 IAM 역할의 정책을 확인하세요. | 
| 400 | 요청의 일부로 전달된 토큰이 없습니다. | 아니요 | 올바르게 서명된 토큰은 IAM 지원 클러스터에서 쿼리 요청의 일부로 전달되어야 합니다. | 
| 400 | 오류 메시지가 전파됩니다. | 아니요 | 요청 ID를 사용하여 AWS Support에 문의하세요. | 
| 500 | 작업 종료(내부 오류) | 예 | 요청 ID를 사용하여 AWS Support에 문의하세요. | 