Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'en-têtes de suivi HTTP facultatifs pour activer les réponses Gremlin en plusieurs parties
Par défaut, la réponse HTTP aux requêtes Gremlin est renvoyée dans un seul ensemble de résultats JSON. Un ensemble de résultats très volumineux peut générér une exception OutOfMemoryError
dans l'instance de base de données.
Vous pouvez toutefois activer les réponses segmentées (réponses renvoyées en plusieurs parties distinctes). Pour ce faire, incluez un en-tête « trailer » (te: trailers
) d'encodage de transfert (TE) dans la demande. Consultez la page MDN (sur les en-têtes de demande TE
Lorsqu'une réponse est renvoyée en plusieurs parties, il peut être difficile de diagnostiquer un problème qui survient après la réception de la première partie, car la première partie arrive avec le code de statut HTTP 200
(OK). En cas d'échec ultérieur, le corps du message contient généralement une réponse corrompue, à la fin de laquelle Neptune ajoute un message d'erreur.
Pour faciliter la détection et le diagnostic de ce type d'échec, Neptune inclut également deux nouveaux champs d'en-tête dans les en-têtes suivants de chaque segment de réponse :
X-Neptune-Status
: contient le code de réponse suivi d'un nom court. Par exemple, en cas de réussite, l'en-tête final serait :X-Neptune-Status: 200 OK
. En cas d'échec, le code de réponse est l'un des codes d'erreur du moteur Neptune, tel queX-Neptune-Status: 500 TimeLimitExceededException
.X-Neptune-Detail
: est vide pour les demandes qui ont abouti. En cas d'erreur, il contient le message d'erreur JSON. Étant donné que seuls les caractères ASCII sont autorisés dans les valeurs d'en-tête HTTP, la chaîne JSON est encodée en URL.
Note
Neptune ne prend actuellement pas en charge la compression gzip
des réponses segmentées. Si le client demande à la fois un encodage et une compression segmentés, Neptune ignore la compression.