Żądania i odpowiedzi strumieniowania

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Czego się dowiesz w tym temacie

Informacje zawarte w tym temacie:

  • Co to jest strumieniowanie żądań i odpowiedzi w Apigee Edge
  • Kiedy używać strumieniowego przesyłania żądań i odpowiedzi
  • Jak włączyć strumieniowe przesyłanie żądań i odpowiedzi
.

Co to jest strumieniowanie żądań i odpowiedzi?

Domyślnie strumieniowanie HTTP jest wyłączone, a ładunki żądań i odpowiedzi HTTP są zapisywane w są buforowane w pamięci, zanim zostaną przetworzone przez potok serwera proxy interfejsu API. Możesz to zmienić i działania, włączając strumieniowe przesyłanie danych. Po włączeniu strumieniowego przesyłania danych ładunki żądań i odpowiedzi są strumieniowane bez modyfikacji do aplikacji klienckiej (na potrzeby odpowiedzi) i docelowego punktu końcowego (na ).

Kiedy należy włączyć strumieniowanie?

Jeśli serwer proxy interfejsu API obsługuje bardzo duże żądania lub odpowiedzi (informacje o limitach rozmiaru znajdziesz w artykule Co jeszcze muszę wiedzieć o transmitowaniu na żywo poniżej), możesz włączyć strumieniowe przesyłanie danych.

Co jeszcze muszę wiedzieć o streamingu?

W Edge Cloud rozmiar ładunku wiadomości jest ograniczony do 10 MB Private Cloud, nawet przy włączonym strumieniowaniu. W przypadku niestrumieniowych żądań i odpowiedzi przekraczające ten rozmiar powoduje błąd protocol.http.TooBigBody.

W Edge dla wdrożeń w chmurze prywatnej możesz zmienić rozmiar niestrumieniowych żądań/odpowiedzi . Pamiętaj, aby przetestować tę zmianę przed wdrożeniem jej w środowisku produkcyjnym.

  • W przypadku Edge for Private Cloud w wersji starszej niż 4.16.01:

    Na wszystkich procesorach wiadomości zmodyfikuj plik http.properties, aby zwiększyć: w parametrze HTTPResponse.body.buffer.limit, a następnie uruchom ponownie do procesora wiadomości.
  • W przypadku Edge for Private Cloud w wersji 4.16.01 lub nowszej:
    1. Edytuj plik /<inst_root>/apigee/customer/application/message-processor.properties. Jeśli plik nie istnieje, utwórz go.

    2. Ustaw wartość conf_http_HTTPResponse.body.buffer.limit w pliku message-processor.properties. Dla: przykład:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Uruchom ponownie procesor wiadomości:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor Uruchom ponownie

    4. Powtórz te czynności dla wszystkich procesorów wiadomości.

.

Jak włączyć strumieniowe przesyłanie żądań i odpowiedzi

Aby włączyć strumieniowe przesyłanie żądań, musisz dodać request.streaming.enabled na definicje ProxyEndpoint i TargetEndpoint w pakiecie proxy oraz ustaw tę wartość na true W podobny sposób skonfiguruj właściwość response.streaming.enabled, aby włączyć strumieniowe przesyłanie odpowiedzi.

Znajdziesz je w interfejsie zarządzania w widoku Programowanie dla serwera proxy. Jeśli programujesz lokalnie, pliki definicji są w języku: apiproxy/proxies i apiproxy/targets.

Ten przykład pokazuje, jak włączyć strumieniowe przesyłanie żądań i odpowiedzi w docelowym punkcie końcowym definicji.

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

Ten przykład pokazuje, jak włączyć strumieniowe przesyłanie odpowiedzi i żądania w ProxyEndpoint definicja:

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

Więcej informacji o konfigurowaniu definicji punktów końcowych znajdziesz w dokumentacji właściwości punktów końcowych.

Powiązany kod Przykłady

Przykładowe serwery proxy interfejsów API z GitHub można łatwo pobrać i z nich korzystać. Informacje na ten temat znajdziesz w sekcji Korzystanie z przykładowych serwerów proxy interfejsów API. pobieranie i używanie sampli.

Przykładowe serwery proxy z funkcją strumieniowania: