Streaminganfragen und -antworten

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Lerninhalte zu diesem Thema

Nachdem Sie dieses Thema gelesen haben, wissen Sie:

  • Was das Anfrage- und Antwort-Streaming auf Apigee Edge ist
  • In welchen Fällen Anfrage- und Antwort-Streaming verwendet werden
  • Anfrage- und Antwortstreaming aktivieren

Was ist Anfrage- und Antwort-Streaming?

HTTP-Streaming ist standardmäßig deaktiviert und HTTP-Anfrage- und -Antwortnutzlasten werden in einen Zwischenspeicher geschrieben, bevor sie von der API-Proxypipeline verarbeitet werden. Sie können dieses Verhalten ändern, indem Sie das Streaming aktivieren. Wenn Streaming aktiviert ist, werden Anfrage- und Antwortnutzlasten ohne Änderung der Client-App (für Antworten) und des Zielendpunkts (für Anfragen) gestreamt.

Wann sollte ich Streaming aktivieren?

Wenn Ihr API-Proxy sehr große Anfragen und/oder Antworten verarbeitet (Informationen zur Größenbeschränkung finden Sie weiter unten im Abschnitt Weitere Informationen zum Streaming), sollten Sie das Streaming aktivieren.

Was sollte ich außerdem über Streaming wissen?

Die Größe der Nachrichtennutzlast ist in Edge Cloud auf 10 MB beschränkt und Private Cloud, auch mit aktiviertem Streaming Bei nicht gestreamten Anfragen und Antworten führt die Überschreitung dieser Größe zu einem protocol.http.TooBigBody-Fehler.

In Edge für Private Cloud-Bereitstellungen können Sie die nicht gestreamte Anfrage-/Antwortgröße ändern Limit Testen Sie unbedingt, bevor Sie die Änderung für die Produktion bereitstellen.

  • Für Edge for Private Cloud-Releases vor 4.16.01:

    Bearbeiten Sie in allen Message Processors die Datei http.properties, um den Wert für Limit im Parameter HTTPResponse.body.buffer.limit an und starten Sie Message Processor.
  • Für Edge for Private Cloud-Version 4.16.01 und höher: <ph type="x-smartling-placeholder">
      </ph>
    1. Bearbeiten Sie die Datei /&lt;inst_root&gt;/apigee/customer/application/message-processor.properties. Sollte die Datei nicht vorhanden sein, erstellen Sie sie.

    2. Legen Sie conf_http_HTTPResponse.body.buffer.limit fest. in message-processor.properties. Für Beispiel:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Starten Sie den Message Processor neu:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor neu starten

    4. Wiederholen Sie diese Schritte für alle Message Processor.

Wie Sie Anfrage- und Antwort-Streaming aktivieren

Zum Aktivieren des Anfragestreamings müssen Sie das Attribut request.streaming.enabled den ProxyEndpoint- und TargetEndpoint-Definitionen im Proxy-Bundle hinzufügen und auf true setzen. Legen Sie entsprechend das Attribut response.streaming.enabled fest, um das Antwort-Streaming zu aktivieren.

Sie finden diese Konfigurationsdateien auf der Verwaltungsoberfläche in der Ansicht „Develop“ (Entwickeln) für Ihr Proxy. Bei der lokalen Entwicklung befinden sich diese Definitionsdateien in apiproxy/proxies und apiproxy/targets.

In diesem Beispiel wird gezeigt, wie sowohl das Anfrage- als auch das Antwort-Streaming in der Definition von TargetEndpoint aktiviert wird.

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

In diesem Beispiel wird gezeigt, wie das Antwort- und Anfrage-Streaming in der ProxyEndpoint-Definition aktiviert wird:

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

Weitere Informationen zum Konfigurieren von Endpunktdefinitionen finden Sie unter Endpunktattribute – Referenz.

Verwandte Codebeispiele

API-Proxy-Beispiele auf GitHub können leicht heruntergeladen und verwendet werden. Weitere Informationen zum Herunterladen und Verwenden der Beispiele finden Sie unter Beispiel-API-Proxys verwenden.

Beispiele für Proxys mit Feature-Streaming:

  • streaming: Veranschaulicht einen API-Proxy, der für HTTP-Streaming konfiguriert ist.
  • Edge-Callout: Signierte URL-Generator: Hiermit wird empfohlen, eine signierte URL zu generieren, um auf große Dateien zuzugreifen, anstatt sie in einer Anfrage/Antwort zu streamen.