Utilizzo di intestazioni HTTP finali opzionali per abilitare le risposte Gremlin in più parti - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di intestazioni HTTP finali opzionali per abilitare le risposte Gremlin in più parti

Per impostazione predefinita, la risposta HTTP alle query Gremlin viene restituita in un unico insieme di risultati JSON. Nel caso di un insieme di risultati molto grande, ciò può causare un'eccezione OutOfMemoryError sull'istanza database.

Tuttavia, è possibile abilitare le risposte in blocchi (risposte restituite in più parti separate). A tale scopo, includere nella richiesta un'intestazione transfer-encoding (TE) trailers (te: trailers). Per ulteriori informazioni sulle intestazioni TE, vedi la pagina MDN sulle intestazioni di richiesta TE.

Quando una risposta viene restituita in più parti, può essere difficile diagnosticare un problema che si verifica dopo la ricezione della prima parte, poiché la prima parte arriva con il codice di stato HTTP 200 (OK). Un errore successivo di solito si traduce in un corpo del messaggio contenente una risposta danneggiata, al termine della quale Neptune aggiunge un messaggio di errore.

Per facilitare il rilevamento e la diagnosi di questo tipo di errore, Neptune include anche due nuovi campi di intestazione all'interno delle intestazioni finali di ogni blocco di risposta:

  • X-Neptune-Status: contiene il codice di risposta seguito da un nome breve. Ad esempio, in caso di esito positivo, l'intestazione finale sarà: X-Neptune-Status: 200 OK. In caso di errore, il codice di risposta sarà uno dei codici di errore del motore Neptune, ad esempio X-Neptune-Status: 500 TimeLimitExceededException.

  • X-Neptune-Detail: è vuoto per le richieste riuscite. In caso di errori, contiene il messaggio di errore JSON. Poiché nei valori di intestazione HTTP sono consentiti solo caratteri ASCII, la stringa JSON è codificata come URL.

Nota

Neptune attualmente non supporta la compressione gzip delle risposte in blocchi. Se il client richiede contemporaneamente la codifica e la compressione in blocchi, Neptune salta la compressione.