Intestazioni HTTP finali opzionali per risposte SPARQL 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à.

Intestazioni HTTP finali opzionali per risposte SPARQL in più parti

Nota

Questa funzionalità è disponibile a partire dal rilascio 1.0.3.0 del motore Neptune.

La risposta HTTP alle query e agli aggiornamenti SPARQL viene spesso restituita in più parti o blocchi. Può essere difficile diagnosticare un errore che si verifica dopo che una query o un aggiornamento inizia a inviare questi blocchi, soprattutto perché il primo arriva con un codice di stato HTTP di 200.

A meno che non si richiedano esplicitamente le intestazioni finali, Neptune segnala tale errore solo aggiungendo un messaggio di errore al corpo del messaggio, che di solito è danneggiato.

Per facilitare il rilevamento e la diagnosi di questo tipo di problema, puoi includere nella richiesta un'intestazione transfer-encoding (TE) trailers (te: trailers) (vedi, ad esempio, la pagina MDN sulle intestazioni di richiesta TE). In questo modo Neptune includerà due nuovi campi di intestazione nelle intestazioni finali dei blocchi 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à un codice di errore del motore Neptune come 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. Inoltre, al corpo del messaggio di risposta viene anche aggiunto il messaggio di errore.