Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Yang akan Anda pelajari dalam topik ini
Setelah membaca topik ini, Anda akan mengetahui hal-hal berikut:
- Pengertian streaming permintaan dan respons di Apigee
- Kapan harus menggunakan streaming permintaan dan respons
- Cara mengaktifkan streaming permintaan dan respons
Apa yang dimaksud dengan streaming permintaan dan respons?
Secara default, streaming HTTP dinonaktifkan dan payload permintaan serta respons HTTP ditulis ke buffer di memori sebelum diproses oleh pipeline proxy API. Anda dapat mengubahnya perilaku pengguna dengan mengaktifkan streaming. Dengan mengaktifkan streaming, payload permintaan dan respons di-streaming tanpa modifikasi ke aplikasi klien (untuk respons) dan endpoint target (untuk permintaan).
Kapan saya harus mengaktifkan streaming?
Jika proxy API Anda menangani permintaan dan/atau respons yang sangat besar (untuk batas ukuran, lihat Hal lain yang harus saya ketahui tentang streaming), Anda dapat mungkin ingin mengaktifkan streaming.
Apa lagi yang harus saya ketahui tentang streaming?
Ukuran payload pesan dibatasi hingga 10 MB.
Dalam permintaan dan respons yang tidak di-streaming, yang melebihi
ukuran tersebut akan menghasilkan error protocol.http.TooBigBody
.
Data yang dienkode
Saat streaming diaktifkan, Apigee tidak mengenkode atau mendekode permintaan atau respons
sebelum mengirimkannya ke klien yang terhubung ke Apigee atau server target backend. Lihat
baris untuk request.streaming.enabled
dan response.streaming.enabled
di
Spesifikasi Properti Transportasi TargetEndpoint untuk informasi selengkapnya.
Cara mengaktifkan streaming permintaan dan respons
Untuk mengaktifkan streaming permintaan, Anda perlu menambahkan request.streaming.enabled
ke definisi ProxyEndpoint dan TargetEndpoint dalam paket proxy, lalu tetapkan ke
true
. Demikian pula, tetapkan
response.streaming.enabled
untuk mengaktifkan streaming respons.
Anda dapat menemukan file konfigurasi ini di UI Apigee dalam tampilan Pengembangan untuk
{i>proxy<i}. Jika Anda mengembangkan aplikasi secara lokal, file definisi ini berada di apiproxy/proxies
dan apiproxy/targets
.
Contoh ini menunjukkan cara mengaktifkan streaming permintaan dan respons di TargetEndpoint definisi.
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> <Properties> <Property name="response.streaming.enabled">true</Property> <Property name="request.streaming.enabled">true</Property> <Property name="supports.http10">true</Property> <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property> <Property name="retain.queryparams">apikey</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
Contoh ini menunjukkan cara mengaktifkan streaming respons dan permintaan di ProxyEndpoint definisi:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <Property name="allow.http10">true</Property> <Property name="response.streaming.enabled">true</Property> <Property name="request.streaming.enabled">true</Property> </Properties> </HTTPProxyConnection> </ProxyEndpoint>
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi definisi endpoint, lihat Referensi properti endpoint.
Kode terkait contoh
Sampel proxy API di GitHub mudah didownload dan digunakan.
Proxy contoh yang menampilkan streaming meliputi:
- streaming - Menunjukkan proxy API yang dikonfigurasi untuk streaming HTTP.
- Edge Keterangan: Generator URL Bertanda Tangan - Menggambarkan praktik terbaik untuk membuat tanda tangan URL untuk mengakses file besar, bukan mencoba melakukan streaming dalam permintaan/respons.