Permintaan streaming dan respons

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca 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 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. Dengan mengaktifkan streaming, payload permintaan dan respons akan di-streaming tanpa modifikasi ke aplikasi klien (untuk respons) dan endpoint target (untuk permintaan).

Kapan sebaiknya saya 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), Anda mungkin perlu mengaktifkan streaming.

Apa lagi yang perlu saya ketahui tentang streaming?

Ukuran payload pesan dibatasi hingga 10 MB. Dalam permintaan dan respons yang tidak di-streaming, jika ukuran tersebut melebihi ukuran tersebut, akan menyebabkan error protocol.http.TooBigBody.

Data yang dienkode

Saat streaming diaktifkan, Apigee tidak mengenkode atau mendekode permintaan atau payload respons sebelum mengirimkannya ke klien yang terhubung ke Apigee atau server target backend. Lihat baris untuk request.streaming.enabled dan response.streaming.enabled dalam tabel TargetEndpoint Transport Property Specification untuk informasi selengkapnya.

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 Apigee dalam tampilan Pengembangan untuk proxy Anda. Jika Anda melakukan pengembangan secara lokal, file definisi ini berada di 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 mengonfigurasi definisi endpoint, lihat Referensi properti endpoint.

Contoh kode terkait

Contoh proxy API di GitHub mudah didownload dan digunakan.

Contoh proxy yang memiliki fitur streaming meliputi:

  • streaming - Mendemonstrasikan proxy API yang dikonfigurasi untuk streaming HTTP.
  • Info Edge: Generator URL Bertanda Tangan - Menggambarkan praktik terbaik dalam membuat URL bertanda tangan untuk mengakses file besar, bukan mencoba melakukan streaming file tersebut dalam permintaan/respons.