İstek ve yanıt akışı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu konuda öğrenecekleriniz

Bu konuyu okuduktan sonra şunları öğreneceksiniz:

  • Apigee Edge'de istek ve yanıt akışı nedir?
  • İstek ve yanıt akışı ne zaman kullanılır?
  • İstek ve yanıt akışını etkinleştirme

İstek ve yanıt akışı nedir?

Varsayılan olarak HTTP akışı devre dışıdır ve HTTP isteği ile yanıt yükleri, API proxy işlem hattı tarafından işlenmeden önce bellekteki bir arabelleğe yazılır. Bu davranışı, yayını etkinleştirerek değiştirebilirsiniz. Akış etkinleştirildiğinde, istek ve yanıt yükleri istemci uygulamasına (yanıtlar için) ve hedef uç noktaya (istekler için) değiştirilmeden aktarılır.

Yayın özelliğini ne zaman etkinleştirmeliyim?

API proxy'niz çok büyük istekleri ve/veya yanıtları işliyorsa (boyut sınırları için aşağıdaki Akış hakkında başka neler bilmeliyim? bölümüne bakın) akışı etkinleştirmek isteyebilirsiniz.

Yayın hakkında başka ne bilmeliyim?

Akış etkinleştirilmiş olsa bile Edge Cloud ve Private Cloud'da ileti yükü boyutu 10 MB ile sınırlıdır. Akışla aktarılmayan istek ve yanıtlarda bu boyutun aşılması protocol.http.TooBigBody hatasıyla sonuçlanır.

Özel bulut dağıtımları için Edge'de, yayınlanmayan istek/yanıt boyutu sınırını değiştirebilirsiniz. Değişikliği üretime dağıtmadan önce test ettiğinizden emin olun.

  • 4.16.01'den önceki Private Cloud için Edge sürümlerinde:

    Tüm Mesaj İşleyicilerde, http.properties dosyasını düzenleyerek HTTPResponse.body.buffer.limit parametresindeki sınırı artırın ve Mesaj İşleyiciyi yeniden başlatın.
  • Edge for Private Cloud 4.16.01 ve sonraki sürümler için:
    1. /<inst_root>/apigee/customer/application/message-processor.properties dosyasını düzenleyin. Bu dosya yoksa oluşturun.

    2. message-processor.properties dosyasında conf_http_HTTPResponse.body.buffer.limit özelliğini ayarlayın. Örneğin:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Mesaj İşleyici'yi yeniden başlatın:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    4. Bu işlemi tüm mesaj işlemciler için tekrarlayın.

İstek ve yanıt akışını etkinleştirme

İstek akışını etkinleştirmek için request.streaming.enabled özelliğini proxy paketindeki ProxyEndpoint ve TargetEndpoint tanımlarına eklemeniz ve true olarak ayarlamanız gerekir. Benzer şekilde, yanıt akışını etkinleştirmek için response.streaming.enabled özelliğini ayarlayın.

Bu yapılandırma dosyalarını, proxy'nizin Geliştirme görünümündeki yönetim kullanıcı arayüzünde bulabilirsiniz. Yerel olarak geliştirme yapıyorsanız bu tanım dosyaları apiproxy/proxies ve apiproxy/targets konumundadır.

Bu örnekte, TargetEndpoint tanımında hem istek hem de yanıt akışının nasıl etkinleştirileceği gösterilmektedir.

<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>

Bu örnekte, ProxyEndpoint tanımında yanıt ve istek akışının nasıl etkinleştirileceği gösterilmektedir:

<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>

Uç nokta tanımlarını yapılandırma hakkında daha fazla bilgi için Uç nokta özellikleri referansı başlıklı makaleyi inceleyin.

İlgili kod örnekleri

GitHub'daki API proxy örneklerini indirmek ve kullanmak kolaydır. Örnekleri indirme ve kullanma hakkında bilgi için Örnek API proxy'lerini kullanma başlıklı makaleye bakın.

Akış özelliğini içeren örnek proxy'ler:

  • streaming: HTTP akışı için yapılandırılmış bir API proxy'sini gösterir.
  • Edge Callout: Signed URL Generator (Edge Açıklaması: İmzalı URL Oluşturucu) - Büyük dosyalara erişmek için istek/yanıt olarak yayınlamaya çalışmak yerine imzalı URL oluşturmanın en iyi uygulamasını gösterir.