Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tugas berikut menunjukkan cara mengaktifkan dukungan biner menggunakan panggilan API Gateway REST API.
Topik
Menambahkan dan memperbarui tipe media biner yang didukung ke API
Untuk mengaktifkan API Gateway untuk mendukung tipe media biner baru, Anda harus menambahkan jenis media biner ke binaryMediaTypes
daftar RestApi
sumber daya. Misalnya, agar API Gateway menangani gambar JPEG, kirimkan PATCH
permintaan ke RestApi
sumber daya:
PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/image~1jpeg" } ] }
Spesifikasi tipe MIME image/jpeg
yang merupakan bagian dari nilai path
properti diloloskan sebagai. image~1jpeg
Untuk memperbarui jenis media biner yang didukung, ganti atau hapus jenis media dari binaryMediaTypes
daftar RestApi
sumber daya. Misalnya, untuk mengubah dukungan biner dari file JPEG ke byte mentah, kirimkan PATCH
permintaan ke RestApi
sumber daya, sebagai berikut:
PATCH /restapis/<restapi_id> { "patchOperations" : [{ "op" : "replace", "path" : "/binaryMediaTypes/image~1jpeg", "value" : "application/octet-stream" }, { "op" : "remove", "path" : "/binaryMediaTypes/image~1jpeg" }] }
Konfigurasikan konversi payload permintaan
Jika titik akhir membutuhkan input biner, atur contentHandling
properti Integration
sumber daya keCONVERT_TO_BINARY
. Untuk melakukannya, kirimkan PATCH
permintaan, sebagai berikut:
PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" }] }
Konfigurasikan konversi payload respons
Jika klien menerima hasilnya sebagai gumpalan biner alih-alih muatan yang dikodekan base64 yang dikembalikan dari titik akhir, setel properti sumber daya ke. contentHandling
IntegrationResponse
CONVERT_TO_BINARY
Untuk melakukan ini, kirimkan PATCH
permintaan, sebagai berikut:
PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration/responses/<status_code> { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" }] }
Ubah data biner menjadi data teks
Untuk mengirim data biner sebagai properti JSON dari input ke AWS Lambda atau Kinesis melalui API Gateway, lakukan hal berikut:
-
Aktifkan dukungan payload biner API dengan menambahkan jenis media biner baru
application/octet-stream
kebinaryMediaTypes
daftar API.PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/application~1octet-stream" } ] }
-
Tetapkan
CONVERT_TO_TEXT
padacontentHandling
propertiIntegration
sumber daya dan sediakan template pemetaan untuk menetapkan string data biner yang dikodekan base64 ke properti JSON. Dalam contoh berikut, properti JSON adalahbody
dan$input.body
memegang string yang dikodekan base64.PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_TEXT" }, { "op" : "add", "path" : "/requestTemplates/application~1octet-stream", "value" : "{\"body\": \"$input.body\"}" } ] }
Mengkonversi data teks ke payload biner
Misalkan fungsi Lambda mengembalikan file gambar sebagai string yang dikodekan base64. Untuk meneruskan output biner ini ke klien melalui API Gateway, lakukan hal berikut:
-
Perbarui
binaryMediaTypes
daftar API dengan menambahkan jenis media binerapplication/octet-stream
, jika belum ada dalam daftar.PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/application~1octet-stream", }] }
-
Setel
contentHandling
properti padaIntegration
sumber daya keCONVERT_TO_BINARY
. Jangan mendefinisikan template pemetaan. Jika Anda tidak mendefinisikan template pemetaan, API Gateway akan memanggil template passthrough untuk mengembalikan blob biner yang diterjemahkan base64 sebagai file gambar ke klien.PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration/responses/<status_code> { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" } ] }
Melewati muatan biner
Untuk menyimpan gambar di bucket Amazon S3 menggunakan API Gateway, lakukan hal berikut:
-
Perbarui
binaryMediaTypes
daftar API dengan menambahkan jenis media binerapplication/octet-stream
, jika belum ada dalam daftar.PATCH /restapis/<restapi_id> { "patchOperations" : [ { "op" : "add", "path" : "/binaryMediaTypes/application~1octet-stream" } ] }
-
Pada
contentHandling
properti sumberIntegration
daya, aturCONVERT_TO_BINARY
. TetapkanWHEN_NO_MATCH
sebagai nilaipassthroughBehavior
properti tanpa mendefinisikan template pemetaan. Hal ini memungkinkan API Gateway untuk memanggil template passthrough.PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration { "patchOperations" : [ { "op" : "replace", "path" : "/contentHandling", "value" : "CONVERT_TO_BINARY" }, { "op" : "replace", "path" : "/passthroughBehaviors", "value" : "WHEN_NO_MATCH" } ] }