Flussi di dati per richieste e risposte

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Cosa imparerete su questo argomento

Dopo aver letto questo argomento, avrai appreso quanto segue:

  • Cosa sono i flussi di richieste e risposte su Apigee
  • Quando utilizzare i flussi di richieste e risposte
  • Come abilitare il flusso di richieste e risposte

Che cos'è un flusso di richieste e risposte?

Per impostazione predefinita, il flusso HTTP è disabilitato e i payload HTTP di richieste e risposte vengono scritti in un buffer in memoria prima di essere elaborati dalla pipeline proxy API. Puoi modificare questo comportamento abilitando il flusso di dati. Con i flussi di dati abilitati, i payload di richiesta e risposta vengono trasmessi senza modifiche all'app client (per le risposte) e all'endpoint di destinazione (per le richieste).

Quando devo abilitare i flussi di dati?

Se il tuo proxy API gestisce richieste e/o risposte molto grandi (per i limiti di dimensione, consulta Che cos'altro devo sapere sui flussi di dati), ti consigliamo di abilitare i flussi di dati.

Che cos'altro dovrei sapere sullo streaming?

La dimensione del payload dei messaggi è limitata a 10 MB. Nelle richieste e nelle risposte non in streaming, il superamento di queste dimensioni genera un errore protocol.http.TooBigBody.

Dati codificati

Quando il flusso è abilitato, Apigee non codifica o decodifica i payload di richiesta o risposta prima di inviarli al client che si connette ad Apigee o a un server di destinazione di backend. Per saperne di più, consulta le righe per request.streaming.enabled e response.streaming.enabled nella tabella Specifica delle proprietà di trasporto TargetEndpoint.

Come abilitare il flusso di richieste e risposte

Per attivare il flusso di richieste, devi aggiungere la proprietà request.streaming.enabled alle definizioni di ProxyEndpoint e TargetEndpoint nel pacchetto proxy e impostarla su true. Allo stesso modo, imposta la proprietà response.streaming.enabled per abilitare il flusso di risposte.

Puoi individuare questi file di configurazione nell'interfaccia utente di Apigee nella visualizzazione Sviluppo per il tuo proxy. Se stai sviluppando in locale, questi file di definizione si trovano in apiproxy/proxies e apiproxy/targets.

Questo esempio mostra come abilitare i flussi di richieste e risposte nella definizione di TargetEndpoint.

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

Questo esempio mostra come abilitare il flusso di risposte e richieste nella definizione di ProxyEndpoint:

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

Per saperne di più sulla configurazione delle definizioni degli endpoint, consulta la documentazione di riferimento sulle proprietà degli endpoint.

Esempi di codice correlati

Gli esempi di proxy API su GitHub sono facili da scaricare e utilizzare.

I proxy di esempio che includono i flussi di dati includono: