Flussi di dati per richieste e risposte

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza documentazione di Apigee Edge.

Che cosa imparerai in questo argomento

Dopo aver letto questo argomento, saprai quanto segue:

  • Che cos'è lo streaming di richieste e risposte su Apigee
  • Quando utilizzare lo streaming di richieste e risposte
  • Come abilitare il flusso di richieste e risposte

Che cos'è un flusso di richieste e risposte?

Per impostazione predefinita, lo streaming HTTP è disattivato e i payload delle richieste e delle risposte HTTP vengono scritti in un buffer in memoria prima di essere elaborati dalla pipeline del proxy API. Puoi modificare abilitando il flusso di dati. Con lo streaming abilitato, i payload di richiesta e risposta vengono vengono trasmesse in streaming senza modifiche all'app client (per le risposte) e all'endpoint di destinazione (per richieste).

Quando devo attivare lo streaming?

Se il proxy API gestisce richieste e/o risposte di grandi dimensioni (per i limiti di dimensioni, consulta Che cos'altro devo sapere sullo streaming), potresti attivare lo streaming.

Cos'altro dovrei sapere sullo streaming?

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

Dati codificati

Quando il flusso di dati è abilitato, Apigee non codifica né decodifica la richiesta o la risposta i payload prima di inviarli al client che si connette ad Apigee o a un server di destinazione backend. Consulta: le righe per request.streaming.enabled e response.streaming.enabled nel Tabella delle specifiche della proprietà di trasporto TargetEndpoint per ulteriori informazioni.

Come attivare lo streaming di richieste e risposte

Per attivare lo streaming delle richieste, devi aggiungere la proprietà request.streaming.enabled alle definizioni di ProxyEndpoint e TargetEndpoint nel bundle del proxy e impostarla su true. Analogamente, imposta la proprietà response.streaming.enabled per attivare lo streaming delle risposte.

Puoi trovare questi file di configurazione nell'interfaccia utente di Apigee nella visualizzazione Sviluppa per il tuo proxy. Se esegui lo sviluppo localmente, questi file di definizione si trovano in apiproxy/proxies e apiproxy/targets.

Questo esempio mostra come abilitare i flussi di dati di richiesta e risposta nel TargetEndpoint definizione di Kubernetes.

<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 nel ProxyEndpoint definizione:

<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 ulteriori informazioni sulla configurazione delle definizioni degli endpoint, consulta Riferimento per le proprietà degli endpoint.

Codice correlato campioni

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

I proxy di esempio che includono flussi di dati includono: