İstek ve yanıt akışı

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

Bu konuda neler öğreneceksiniz?

Bu konuyu okuduktan sonra şunları öğrenmiş olacaksınız:

  • Apigee Edge'deki 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 istek ve yanıt yükleri, API proxy ardışık düzeni tarafından işlenmeden önce bellekteki bir arabelleğe yazılır. Akışı etkinleştirerek bu davranışı değiştirebilirsiniz. Akış etkinleştirildiğinde, istek ve yanıt yükleri, istemci uygulamasında (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 bilmem gereken diğer noktalar bölümüne bakın) akışı etkinleştirmek isteyebilirsiniz.

Akış hakkında başka neleri bilmem gerekiyor?

Edge Cloud ve Private Cloud'da mesaj yükü boyutu, akış etkin olsa bile 10 MB ile sınırlandırılmıştır. Yayınlanmayan istekler ve yanıtlarda bu boyutun aşılması protocol.http.TooBigBody hatasına neden olur.

Özel Bulut dağıtımları için Edge'de, akışsız istek/yanıt boyutu sınırını değiştirebilirsiniz. Değişikliği üretime dağıtmadan önce test etmeyi unutmayın.

  • Edge for Private Cloud'un 4.16.01 öncesi sürümleri için:

    Tüm Mesaj İşleyicilerinde, HTTPResponse.body.buffer.limit parametresindeki sınırı artırmak için http.properties dosyasını düzenleyin ve ardından Mesaj İşleyici'yi yeniden başlatın.
  • Edge for Private Cloud 4.16.01 ve sonraki sürümleri için:
    1. /<inst_root>/apigee/customer/application/message-processor.properties dosyasını düzenleyin. Böyle bir dosya yoksa oluşturun.

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

    3. Mesaj İşleyiciyi yeniden başlatın:
      > /<inst_root>/Apigee/Apigee-service/bin/Maalesef-service Edge-message-processor yeniden başlat

    4. Tüm mesaj işleyenler için bu işlemi 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'niz için 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 dillerindedir.

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 edinmek için Uç nokta özellikleri referansı başlıklı makaleye bakın.

İlgili kod örnekleri

GitHub'daki API proxy'si örneklerini indirmek ve kullanmak kolaydır. Örnekleri indirme ve kullanma hakkında bilgi edinmek için Örnek API proxy'lerini kullanma bölümüne bakın.

Akış özelliği olan örnek proxy'ler şunlardır:

  • akış: HTTP akışı için yapılandırılmış bir API proxy'sini gösterir.
  • Edge Ek Bilgi: İmzalı URL Oluşturucu: Büyük dosyalara erişmek için bir istek/yanıtta akışla aktarmaya çalışmak yerine imzalı bir URL oluşturmayla ilgili en iyi uygulamayı gösterir.