Permintaan streaming dan respons

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:

  • Pengertian streaming permintaan dan respons di Apigee Edge
  • 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 di bawah), Anda dapat mengaktifkan streaming.

Apa lagi yang harus saya ketahui tentang streaming?

Ukuran {i>payload<i} pesan dibatasi hingga 10 MB di Edge Cloud dan Private Cloud, meskipun streaming diaktifkan. Dalam permintaan dan respons yang tidak di-streaming, yang melebihi ukuran tersebut akan menghasilkan error protocol.http.TooBigBody.

Di deployment Edge untuk Private Cloud, Anda dapat mengubah ukuran permintaan/respons yang tidak di-streaming batas tersebut. Pastikan untuk melakukan pengujian sebelum men-deploy perubahan ke produksi.

  • Untuk rilis Edge untuk Private Cloud sebelum 4.16.01:

    Pada semua Pemroses Pesan, edit file http.properties untuk meningkatkan batasi di parameter HTTPResponse.body.buffer.limit, lalu mulai ulang {i>Message Processor<i}.
  • Untuk Edge for Private Cloud, rilis 4.16.01 dan yang lebih baru:
    1. Edit file /&lt;inst_root&gt;/apigee/customer/application/message-processor.properties. Jika file tersebut tidak ada, buat file tersebut.

    2. Tetapkan conf_http_HTTPResponse.body.buffer.limit di message-processor.properties. Sebagai contoh:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Mulai ulang Pemroses Pesan:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor mulai ulang

    4. Ulangi untuk semua Pemroses Pesan.

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 properti response.streaming.enabled untuk mengaktifkan streaming respons.

Anda bisa menemukan file konfigurasi ini di UI manajemen dalam tampilan Mengembangkan 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. Lihat Menggunakan proxy API contoh untuk informasi tentang mengunduh dan menggunakan contoh.

Proxy contoh yang menampilkan streaming meliputi: