

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

# Jenis media biner untuk REST APIs di API Gateway
<a name="api-gateway-payload-encodings"></a>

Di API Gateway, permintaan dan respons API memiliki muatan teks atau biner. Payload teks adalah string JSON `UTF-8` -encoded. Payload biner adalah apa pun selain payload teks. Payload biner dapat berupa, misalnya, file JPEG, file, atau GZip file XHTML. Konfigurasi API yang diperlukan untuk mendukung media biner bergantung pada apakah API Anda menggunakan integrasi proxy atau non-proxy. 

Jika Anda menggunakan integrasi proxy dengan streaming respons payload, Anda tidak perlu mengonfigurasi jenis media biner Anda. Untuk informasi selengkapnya, lihat [Streaming respons integrasi untuk integrasi proxy Anda di API Gateway](response-transfer-mode.md).

## AWS Lambda integrasi proxy
<a name="api-gateway-payload-encodings-proxy"></a>

Untuk menangani payload biner untuk integrasi AWS Lambda proxy, Anda harus base64-menyandikan respons fungsi Anda. Anda juga harus mengonfigurasi [binaryMediaTypes](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html#apigw-Type-RestApi-binaryMediaTypes)untuk API Anda. `binaryMediaTypes`Konfigurasi API Anda adalah daftar tipe konten yang API Anda perlakukan sebagai data biner. Contoh jenis media biner termasuk `image/png` atau`application/octet-stream`. Anda dapat menggunakan karakter wildcard (`*`) untuk mencakup beberapa jenis media.

API Gateway menggunakan `Accept` header pertama dari klien untuk menentukan apakah respons harus mengembalikan media biner. Untuk mengembalikan media biner saat Anda tidak dapat mengontrol urutan nilai `Accept` header, seperti permintaan dari browser, setel tipe media biner API Anda`*/*`.

Untuk kode sampel, lihat [Kembalikan media biner dari integrasi proxy Lambda di API Gateway](lambda-proxy-binary-media.md).

Jika Anda menggunakan integrasi proxy Lambda dengan streaming respons payload, Anda tidak perlu mengonfigurasi jenis media biner Anda. Untuk informasi selengkapnya, lihat [Siapkan integrasi proxy Lambda dengan streaming respons payload di API Gateway](response-transfer-mode-lambda.md).

## Integrasi non-proxy
<a name="api-gateway-payload-encodings-non-proxy"></a>

Untuk menangani muatan biner untuk integrasi non-proxy, Anda menambahkan jenis media ke [binaryMediaTypes](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html#apigw-Type-RestApi-binaryMediaTypes)daftar sumber daya. `RestApi` `binaryMediaTypes`Konfigurasi API Anda adalah daftar tipe konten yang API Anda perlakukan sebagai data biner. [Atau, Anda dapat mengatur properti [ContentHandling](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html#contentHandling) pada Integrasi dan sumber daya. [IntegrationResponse](https://docs.aws.amazon.com/apigateway/latest/api/API_IntegrationResponse.html)](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html) `contentHandling`Nilainya bisa`CONVERT_TO_BINARY`,`CONVERT_TO_TEXT`, atau tidak terdefinisi. 

**catatan**  
Integrasi untuk `MOCK` atau pribadi, pengaturan `contentHandling` properti tidak didukung di. Konsol Manajemen AWS Anda harus menggunakan AWS CLI, CloudFormation, atau SDK untuk mengatur `contentHandling` properti.

Bergantung pada `contentHandling` nilainya, dan apakah header respons atau `Content-Type` header permintaan yang masuk cocok dengan entri dalam `binaryMediaTypes` daftar, API Gateway dapat menyandikan byte biner mentah sebagai string yang disandikan base64, memecahkan kode string yang dikodekan base64 kembali ke byte mentahnya, atau meneruskan isi tanpa modifikasi. `Accept` 

Anda harus mengonfigurasi API sebagai berikut untuk mendukung payload biner untuk API Anda di API Gateway: 
+ Tambahkan jenis media biner yang diinginkan ke `binaryMediaTypes` daftar pada [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)sumber daya. Jika properti ini dan properti tidak ditentukan, muatan ditangani sebagai string JSON yang dikodekan UTF-8. `contentHandling`
+ Alamat `contentHandling` properti sumber daya [Integrasi](https://docs.aws.amazon.com/apigateway/latest/api/API_Integration.html). 
  + Agar payload permintaan dikonversi dari string yang dikodekan base64 ke gumpalan binernya, setel properti ke. `CONVERT_TO_BINARY`
  + Agar payload permintaan dikonversi dari gumpalan biner ke string yang dikodekan base64, setel properti ke. `CONVERT_TO_TEXT`
  + Untuk meneruskan muatan tanpa modifikasi, biarkan properti tidak terdefinisi. Untuk meneruskan payload biner tanpa modifikasi, Anda juga harus memastikan bahwa entri tersebut `Content-Type` cocok dengan salah satu `binaryMediaTypes` entri, dan [perilaku passthrough](integration-passthrough-behaviors.md) diaktifkan untuk API. 
+ Atur `contentHandling` properti sumber [IntegrationResponse](https://docs.aws.amazon.com/apigateway/latest/api/API_IntegrationResponse.html)daya. `contentHandling`Properti, `Accept` header dalam permintaan klien, dan `binaryMediaTypes` gabungan API Anda menentukan cara API Gateway menangani konversi tipe konten. Lihat perinciannya di [Konversi jenis konten di API Gateway](api-gateway-payload-encodings-workflow.md). 

**penting**  
Jika permintaan berisi beberapa jenis media di `Accept` header, 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 API Anda. API Gateway menangani semua jenis konten dalam daftar ini sebagai biner.   
Misalnya, untuk mengirim file JPEG 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 file JPEG sebagai biner. 

Untuk informasi mendetail tentang cara API Gateway menangani muatan teks dan biner, lihat[Konversi jenis konten di API Gateway](api-gateway-payload-encodings-workflow.md).