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 plikhttp.properties
, aby zwiększyć: w parametrzeHTTPResponse.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:
-
Edytuj plik /<inst_root>/apigee/customer/application/message-processor.properties. Jeśli plik nie istnieje, utwórz go.
-
Ustaw wartość conf_http_HTTPResponse.body.buffer.limit w pliku message-processor.properties. Dla: przykład:
conf_http_HTTPResponse.body.buffer.limit=5m -
Uruchom ponownie procesor wiadomości:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor Uruchom ponownie -
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:
- strumieniowanie – demonstruje serwer proxy interfejsu API skonfigurowany na potrzeby strumieniowego przesyłania danych HTTP.
- Objaśnienie dotyczące krawędzi: generator podpisanego adresu URL – ilustruje sprawdzoną metodę generowania podpisanego dokumentu Adres URL umożliwiający dostęp do dużych plików, zamiast przesyłać je strumieniowo w żądaniu/odpowiedzi.