Gunakan header tambahan HTTP opsional untuk mengaktifkan respons Gremlin multi-bagian - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan header tambahan HTTP opsional untuk mengaktifkan respons Gremlin multi-bagian

Secara default, HTTP respons terhadap kueri Gremlin dikembalikan dalam satu JSON set hasil. Dalam kasus set hasil yang sangat besar, ini dapat menyebabkan pengecualian OutOfMemoryError pada instans DB.

Namun, Anda dapat mengaktifkan respons bongkahan (respons yang dikembalikan dalam beberapa bagian yang terpisah). Anda melakukan ini dengan menyertakan header jejak transfer-encoding (TE) (te: trailers) dalam permintaan Anda. Lihat MDNhalaman tentang header permintaan TE) untuk informasi selengkapnya tentang header TE.

Ketika respons dikembalikan dalam beberapa bagian, mungkin sulit untuk mendiagnosis masalah yang terjadi setelah bagian pertama diterima, karena bagian pertama tiba dengan kode HTTP status 200 (OK). Kegagalan berikutnya biasanya menghasilkan badan pesan yang berisi respons yang rusak, pada akhirnya Neptune menambahkan pesan kesalahan.

Agar deteksi dan diagnosis kegagalan semacam ini jadi lebih mudah, Neptune juga mencakup dua bidang header baru dalam trailing header dari setiap bongkahan respons:

  • X-Neptune-Status  –   berisi kode respons diikuti dengan nama pendek. Misalnya, dalam kasus keberhasilan, trailing header akan berupa: X-Neptune-Status: 200 OK. Dalam kasus kegagalan, kode respon akan menjadi salah satu kode kesalahan mesin Neptune, seperti X-Neptune-Status: 500 TimeLimitExceededException.

  • X-Neptune-Detail  –   kosong untuk permintaan yang berhasil. Dalam kasus kesalahan, itu berisi pesan JSON kesalahan. Karena hanya ASCII karakter yang diizinkan dalam nilai HTTP header, JSON string URL dikodekan.

catatan

Neptune saat ini tidak mendukung kompresi gzip respons bongkahan. Jika klien meminta kedua encoding bongkahan dan kompresi pada saat yang sama, Neptune melewatkan kompresi.