Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Yang akan Anda pelajari dalam topik ini
Setelah membaca topik ini, Anda akan mengetahui:
- Definisi streaming permintaan dan respons di Apigee Edge
- Kapan harus menggunakan streaming permintaan dan respons
- Cara mengaktifkan streaming permintaan dan respons
Apa itu 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 mengubah perilaku ini dengan mengaktifkan streaming. Jika streaming diaktifkan, payload permintaan dan respons akan 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 perlu saya ketahui tentang streaming di bawah), Anda mungkin perlu mengaktifkan streaming.
Apa lagi yang harus saya ketahui tentang streaming?
Ukuran payload pesan dibatasi hingga 10 MB di Edge Cloud dan Private Cloud, bahkan saat streaming diaktifkan. Dalam permintaan dan respons yang tidak di-streaming, melebihi
ukuran tersebut akan menyebabkan error protocol.http.TooBigBody
.
Di Edge untuk deployment Private Cloud, Anda dapat mengubah batas ukuran permintaan/respons yang tidak di-streaming. Pastikan untuk melakukan pengujian sebelum men-deploy perubahan ke produksi.
- Untuk rilis Edge for Private Cloud sebelum 4.16.01:
Di semua Message Processors, edit filehttp.properties
untuk meningkatkan batas parameterHTTPResponse.body.buffer.limit
, lalu mulai ulang Message Processor. -
Untuk Edge for Private Cloud rilis 4.16.01 dan yang lebih baru:
-
Edit file /<inst_root>/apigee/customer/application/message-processor.properties. Jika file tersebut tidak ada, buatlah file tersebut.
-
Tetapkan properti conf_http_HTTPResponse.body.buffer.limit di message-processor.properties. Misalnya:
conf_http_HTTPResponse.body.buffer.limit=5m -
Mulai ulang Pemroses Pesan:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor restart -
Ulangi untuk semua Pemroses Pesan.
-
Cara mengaktifkan streaming permintaan dan respons
Untuk mengaktifkan streaming permintaan, Anda harus menambahkan properti request.streaming.enabled
ke definisi ProxyEndpoint dan TargetEndpoint dalam paket proxy dan menetapkannya ke
true
. Demikian pula, tetapkan properti response.streaming.enabled
untuk mengaktifkan streaming respons.
Anda dapat menemukan file konfigurasi ini di UI pengelolaan pada tampilan Pengembangan untuk
proxy Anda. Jika Anda melakukan pengembangan secara lokal, file definisi ini berada dalam apiproxy/proxies
dan apiproxy/targets
.
Contoh ini menunjukkan cara mengaktifkan streaming permintaan dan respons dalam definisi TargetEndpoint.
<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 dalam definisi ProxyEndpoint:
<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.
Contoh kode terkait
Contoh proxy API di GitHub mudah didownload dan digunakan. Lihat Menggunakan proxy API contoh untuk informasi tentang mendownload dan menggunakan contoh.
Contoh proxy yang menampilkan streaming meliputi:
- streaming - Mendemonstrasikan proxy API yang dikonfigurasi untuk streaming HTTP.
- Edge Callout: Signed URL Generator - Menggambarkan praktik terbaik dalam membuat URL bertanda tangan untuk mengakses file berukuran besar, bukan mencoba men-streaming file tersebut dalam permintaan/respons.