선택적 HTTP 후행 헤더를 사용하여 여러 부분으로 구성된 Gremlin 응답을 활성화할 수 있습니다. - Amazon Neptune

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

선택적 HTTP 후행 헤더를 사용하여 여러 부분으로 구성된 Gremlin 응답을 활성화할 수 있습니다.

기본적으로 Gremlin 쿼리에 HTTP 대한 응답은 단일 결과 집합으로 반환됩니다. JSON 결과 세트가 매우 큰 경우 이로 인해 DB 인스턴스에서 OutOfMemoryError 예외가 발생할 수 있습니다.

단, 청크 응답(여러 부분으로 나누어 반환되는 응답)을 활성화할 수 있습니다. 요청에 전송 인코딩(TE) 후행 헤더(te: trailers)를 포함하면 됩니다. TE 헤더에 대한 자세한 내용은 TE (요청 헤더 정보) MDN 페이지를 참조하십시오.

응답이 여러 부분으로 나뉘어 반환되는 경우 첫 번째 부분이 HTTP 상태 코드 200 (OK) 로 도착하기 때문에 첫 번째 부분이 수신된 후 발생하는 문제를 진단하기 어려울 수 있습니다. 이후에 오류가 발생하면 일반적으로 메시지 본문에 손상된 응답이 포함되며, 이 메시지 본문의 끝에 Neptune이 오류 메시지를 추가합니다.

이러한 종류의 장애를 더 쉽게 감지하고 진단할 수 있도록 Neptune은 모든 응답 청크의 후행 헤더에 2개의 새로운 헤더 필드도 포함합니다.

  • X-Neptune-Status   –   응답 코드와 짧은 이름이 차례로 들어 있습니다. 예를 들어, 성공하면 후행 헤더는 X-Neptune-Status: 200 OK와 같습니다. 장애가 발생한 경우 응답 코드는 X-Neptune-Status: 500 TimeLimitExceededException과 같은 Neptune 엔진 오류 코드 중 하나가 됩니다.

  • X-Neptune-Detail   –   요청이 성공하면 비어 있습니다. 오류가 발생한 경우 JSON 오류 메시지가 포함됩니다. HTTP헤더 값에는 ASCII 문자만 사용할 수 있으므로 JSON 문자열이 URL 인코딩됩니다.

참고

Neptune은 현재 청크 응답의 gzip 압축을 지원하지 않습니다. 클라이언트가 청크 인코딩과 압축을 동시에 요청하는 경우 Neptune은 압축을 건너뜁니다.