Konversi jenis konten di API Gateway - APIGerbang Amazon

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

Konversi jenis konten di API Gateway

Kombinasi API milik AndabinaryMediaTypes, header dalam permintaan klien, dan contentHandling properti integrasi menentukan cara API Gateway mengkodekan muatan.

Tabel berikut menunjukkan cara API Gateway mengonversi payload permintaan untuk konfigurasi spesifik Content-Type header permintaan, binaryMediaTypes daftar RestApisumber daya, dan nilai contentHandling properti sumber daya Integrasi.

Metode permintaan payload Permintaan Content-Type header binaryMediaTypes contentHandling Muatan permintaan integrasi
Data teks Tipe data apa pun Tidak terdefinisi Tidak terdefinisi UTF8-string yang dikodekan
Data teks Tipe data apa pun Tidak terdefinisi CONVERT_TO_BINARY Gumpalan biner yang didekode Base64
Data teks Tipe data apa pun Tidak terdefinisi CONVERT_TO_TEXT UTF8-string yang dikodekan
Data teks Tipe data teks Set dengan jenis media yang cocok Tidak terdefinisi Data teks
Data teks Tipe data teks Set dengan jenis media yang cocok CONVERT_TO_BINARY Gumpalan biner yang didekode Base64
Data teks Tipe data teks Set dengan jenis media yang cocok CONVERT_TO_TEXT Data teks
Data biner Tipe data biner Set dengan jenis media yang cocok Tidak terdefinisi Data biner
Data biner Tipe data biner Set dengan jenis media yang cocok CONVERT_TO_BINARY Data biner
Data biner Tipe data biner Set dengan jenis media yang cocok CONVERT_TO_TEXT String yang dikodekan Base64

Tabel berikut menunjukkan cara API Gateway mengonversi payload respons untuk konfigurasi spesifik Accept header permintaan, binaryMediaTypes daftar RestApisumber daya, dan nilai contentHandling properti sumber daya. IntegrationResponse

penting

Saat permintaan berisi beberapa jenis media di Accept tajuknya, API Gateway hanya menghormati jenis Accept media pertama. Jika Anda tidak dapat mengontrol urutan jenis Accept media dan jenis media konten biner Anda bukan yang pertama dalam daftar, tambahkan jenis Accept media pertama dalam binaryMediaTypes daftar AndaAPI. APIGateway menangani semua jenis konten dalam daftar ini sebagai biner.

Misalnya, untuk mengirim JPEG file menggunakan <img> elemen di browser, browser mungkin mengirim Accept:image/webp,image/*,*/*;q=0.8 permintaan. Dengan menambahkan image/webp ke binaryMediaTypes daftar, titik akhir menerima JPEG file sebagai biner.

Payload respons integrasi Permintaan Accept header binaryMediaTypes contentHandling Metode respon payload
Teks atau data biner Tipe teks Tidak terdefinisi Tidak terdefinisi UTF8-string yang dikodekan
Teks atau data biner Tipe teks Tidak terdefinisi CONVERT_TO_BINARY Gumpalan yang didekodekan Base64
Teks atau data biner Tipe teks Tidak terdefinisi CONVERT_TO_TEXT UTF8-string yang dikodekan
Data teks Tipe teks Set dengan jenis media yang cocok Tidak terdefinisi Data teks
Data teks Tipe teks Set dengan jenis media yang cocok CONVERT_TO_BINARY Gumpalan yang didekodekan Base64
Data teks Tipe teks Set dengan jenis media yang cocok CONVERT_TO_TEXT UTF8-string yang dikodekan
Data teks Tipe biner Set dengan jenis media yang cocok Tidak terdefinisi Gumpalan yang didekodekan Base64
Data teks Tipe biner Set dengan jenis media yang cocok CONVERT_TO_BINARY Gumpalan yang didekodekan Base64
Data teks Tipe biner Set dengan jenis media yang cocok CONVERT_TO_TEXT UTF8-string yang dikodekan
Data biner Tipe teks Set dengan jenis media yang cocok Tidak terdefinisi String yang dikodekan Base64
Data biner Tipe teks Set dengan jenis media yang cocok CONVERT_TO_BINARY Data biner
Data biner Tipe teks Set dengan jenis media yang cocok CONVERT_TO_TEXT String yang dikodekan Base64
Data biner Tipe biner Set dengan jenis media yang cocok Tidak terdefinisi Data biner
Data biner Tipe biner Set dengan jenis media yang cocok CONVERT_TO_BINARY Data biner
Data biner Tipe biner Set dengan jenis media yang cocok CONVERT_TO_TEXT String yang dikodekan Base64

Saat mengonversi payload teks menjadi gumpalan biner, API Gateway mengasumsikan bahwa data teks adalah string yang dikodekan base64 dan mengeluarkan data biner sebagai gumpalan yang diterjemahkan base64. Jika konversi gagal, ia mengembalikan 500 respons, yang menunjukkan kesalahan API konfigurasi. Anda tidak menyediakan template pemetaan untuk konversi semacam itu, meskipun Anda harus mengaktifkan perilaku passthrough pada. API

Saat mengonversi payload biner ke string teks, API Gateway selalu menerapkan pengkodean base64 pada data biner. Anda dapat menentukan templat pemetaan untuk muatan semacam itu, tetapi hanya dapat mengakses string yang dikodekan base64 dalam templat pemetaan$input.body, seperti yang ditunjukkan dalam kutipan contoh templat pemetaan berikut.

{ "data": "$input.body" }

Agar payload biner dilewati tanpa modifikasi, Anda harus mengaktifkan perilaku passthrough pada. API