Flussi di dati per richieste e risposte

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Argomenti trattati in questo argomento

Dopo aver letto questo argomento, saprai:

  • Che cos'è il flusso di richieste e risposte su Apigee Edge
  • Quando utilizzare i flussi di richieste e risposte
  • Come abilitare il flusso di richieste e risposte
di Gemini Advanced.

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 Cos'altro dovrei sapere sullo streaming di seguito), potresti voler abilitare lo streaming.

Cos'altro dovrei sapere sullo streaming?

Le dimensioni del payload dei messaggi sono limitate a 10 MB in Edge Cloud e Cloud privato, anche con flussi di dati abilitati. Nelle richieste e nelle risposte non in streaming, hanno superato quella dimensione genera un errore protocol.http.TooBigBody.

Nei deployment Edge per il cloud privato, puoi modificare le dimensioni di richiesta/risposta non in streaming limite. Assicurati di eseguire i test prima di eseguire il deployment della modifica in produzione.

  • Per le release di Edge per il cloud privato precedenti alla 4.16.01:

    In tutti i processori di messaggi, modifica il file http.properties per aumentare limite nel parametro HTTPResponse.body.buffer.limit e quindi riavvia il processore di messaggi.
  • Per Edge per Cloud privato release 4.16.01 e successive:
      .
    1. Modifica il file /<inst_root>/apigee/customer/application/message-processor.properties. Se il file non esiste, crealo.

    2. Imposta il valore di conf_http_HTTPResponse.body.buffer.limit in message-processor.properties. Per esempio:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. Riavvia il processore di messaggi:
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor riavvia

    4. Ripeti l'operazione per tutti i processori di messaggi.

di Gemini Advanced.

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. 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 gestione nella vista Sviluppo per il 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. Per informazioni su come utilizzare i proxy API di esempio, consulta Utilizzare i proxy API di esempio scaricare e utilizzare gli esempi.

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.