Questa pagina si applica a Apigee e Apigee ibridi.
Visualizza documentazione di Apigee Edge.
Argomenti trattati in questo argomento
Dopo aver letto questo argomento, saprai quanto segue:
- Che cos'è il flusso 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 di richiesta e risposta HTTP vengono scritti in un buffering in memoria prima che vengano elaborati dalla pipeline 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 tuo proxy API gestisce richieste e/o risposte molto grandi (per i limiti di dimensioni, consulta Che cos'altro dovrei sapere sullo streaming), potresti potresti voler abilitare i flussi di dati.
Cos'altro dovrei sapere sullo streaming?
Le dimensioni del payload dei messaggi sono limitate a 10 MB.
Nelle richieste e nelle risposte non in streaming, hanno superato
quella dimensione genera 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 abilitare il flusso di richieste e risposte
Per abilitare il flusso delle richieste devi aggiungere request.streaming.enabled
alle definizioni del ProxyEndpoint e del TargetEndpoint nel bundle proxy e impostala su
true
. Analogamente, imposta
Proprietà response.streaming.enabled
per abilitare il flusso di risposte.
Puoi individuare questi file di configurazione nella UI di Apigee nella vista Sviluppo del tuo
proxy. Se stai sviluppando 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 saperne di più sulla configurazione delle definizioni degli endpoint, consulta Riferimento alle proprietà degli endpoint.
Codice correlato campioni
Gli esempi di proxy API su GitHub sono facili da scaricare e utilizzare.
I proxy di esempio che includono flussi di dati includono:
- streaming: mostra un proxy API configurato per lo streaming HTTP.
- Edge Callout: Signed URL Generator: illustra la best practice per generare un URL firmato URL per accedere a file di grandi dimensioni anziché provare a trasmetterli in modalità flusso in una richiesta/risposta.