Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Combina criteri e risorse in un flusso condiviso che puoi utilizzare da più proxy API e persino da altri flussi condivisi. Sebbene sia simile a un proxy, un flusso condiviso non ha un endpoint. Può essere utilizzato solo da un proxy API o da un flusso condiviso che si trova nella stessa organizzazione del flusso condiviso stesso.
Un flusso condiviso, che acquisisce in un unico posto funzionalità utili in più posizioni, ti aiuta a garantire la coerenza, ridurre i tempi di sviluppo e gestire più facilmente il codice.
Il seguente video mostra come creare ed eseguire il debug di un flusso condiviso nell'interfaccia utente Apigee.
Puoi chiamare un flusso condiviso utilizzando il criterio FlowCallout. Inoltre, collegando un flusso condiviso a un hook di flusso, puoi fare in modo che il flusso condiviso venga eseguito prima di una richiesta proxy o di destinazione oppure dopo una risposta proxy o di destinazione.
Per informazioni sulle norme relative a FlowCallout
, consulta le norme sui callout di flusso. Per saperne di più
sugli hook di flusso, vedi Collegamento di un flusso condiviso
utilizzando un hook di flusso.
Ad esempio, immagina di avere aree di funzionalità utilizzate in più posizioni o che devono essere standardizzate in tutte le API della tua organizzazione. Potresti avere un flusso condiviso per ogni categoria, tra cui:
- Sicurezza, con codice di autorizzazione che utilizza OAuth e verifica della chiave API, nonché codice di protezione dalle minacce.
- Logging, per generare messaggi di errore standard.
- Mediazione, per la trasformazione tra i formati dei messaggi XML e JSON.
Nella seguente illustrazione, due proxy API chiamano (con un criterio FlowCallout
) un flusso condiviso per autenticare le richieste utente in entrata. AuthSharedFlow
è stato implementato
separatamente nell'organizzazione prima dei proxy, in modo che sia disponibile per supportare le richieste dei proxy. Un flusso condiviso può essere sviluppato e gestito da un team responsabile delle politiche aziendali generali, quindi utilizzato nei proxy dai team di linea di business che creano app più specializzate.
Sviluppo di un flusso condiviso
Quando sviluppi un flusso condiviso, devi sempre testarlo con chiamate inviate a un proxy API. In altre parole, non puoi inviare richieste direttamente a un flusso condiviso come faresti con un proxy API. Invece, invii le richieste a un proxy API che, a sua volta, chiama il flusso condiviso.
Ecco i passaggi generali per sviluppare un flusso condiviso:
- Definisci il set di funzionalità condivise.
Ad esempio, potresti voler combinare le funzionalità di gestione del traffico, inclusa la soppressione dei picchi di traffico. In questo modo, puoi gestire la configurazione al di fuori del flusso di lavoro di chi implementa la logica di business.
-
Sviluppa un flusso condiviso implementando criteri e risorse di supporto, proprio come faresti quando sviluppi un proxy API.
Un flusso condiviso è una sequenza di passaggi condizionali. Pertanto, svilupparne uno è come sviluppare un proxy API. Puoi includere norme e risorse che potresti includere in un proxy.
Ad esempio, nell'ambito del supporto per la gestione del traffico, potresti implementare una policy Spike Arrest per consentire solo 30 richieste al secondo, come nel seguente esempio:
<SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest"> <DisplayName>Spike Arrest</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest>
Poi, a un flusso condiviso per la gestione del traffico, potresti collegare il criterio Spike Arrest come un passaggio. Il criterio verrà eseguito per qualsiasi proxy API che chiama il flusso condiviso.
<SharedFlow name="default"> <Step> <Name>Spike-Arrest</Name> </Step> </SharedFlow>
Per informazioni su come avviare un flusso condiviso nella console di gestione, vedi Creazione di un flusso condiviso nella UI di Apigee.
Come per i proxy API, puoi importare un file zip contenente gli artefatti di origine del flusso condiviso utilizzando l'API Create shared flow. Di seguito viene illustrato come importare un flusso condiviso con l'API Apigee:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/sharedflows?action=import&name=mySharedFlow" \ -X POST \ -F "file=@sharedflow.zip" \ -H "Authorization: Bearer $TOKEN"
Dove
$TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzionicurl
utilizzate in questo esempio, consulta la sezione Utilizzare curl. Per una descrizione delle variabili di ambiente che puoi utilizzare, consulta Impostazione delle variabili di ambiente per le richieste API Apigee. -
Esegui il deployment del flusso condiviso nell'ambiente prima di eseguire il deployment dei proxy o dei flussi condivisi
che lo utilizzeranno. Il deployment di un flusso condiviso viene eseguito nello stesso modo in cui viene eseguito il deployment di un proxy API. (Per
maggiori informazioni, consulta la Panoramica
dell'implementazione.)
Un flusso condiviso deve trovarsi nella stessa organizzazione ed essere sottoposto a deployment nello stesso ambiente dei proxy API e degli altri flussi condivisi che lo utilizzano. Il deployment del flusso condiviso prima dei proxy consente di risolvere la dipendenza del proxy dal flusso condiviso al momento del deployment.
Puoi eseguire il deployment di un flusso condiviso con una chiamata API Apigee come la seguente:
curl https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/sharedflows/$SHAREDFLOW/revisions/$REV/deployments \ -X POST \ -H "Authorization: Bearer $TOKEN"
Analogamente ai proxy API, tutti i deployment di flussi condivisi riusciti su Apigee sono deployment senza tempi di inattività.
-
Sviluppa il proxy API di consumo in modo che possa chiamare il flusso condiviso come parte del proprio flusso.
Da un proxy API, chiami un flusso condiviso con un criterio FlowCallout. Puoi anche collegare il flusso condiviso al proxy utilizzando un flow hook.
Per utilizzare un flusso condiviso, aggiungi un criterio
FlowCallout
al proxy o al flusso condiviso che lo utilizzerà. Come un criterio di callout del servizio, con cui chiami un altro servizio, unFlowCallout
chiama il flusso condiviso. Il proxy API di consumo deve essere sottoposto a deployment dopo il flusso condiviso e nello stesso ambiente del flusso condiviso. Il flusso condiviso deve essere attivo quando vuoi testare una chiamata utilizzando il criterioFlowCallout
.Nel seguente codice, un criterio
FlowCallout
chiama un flusso condiviso chiamatotraffic-management-shared
.<FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout"> <DisplayName>Traffic Management FlowCallout</DisplayName> <Properties/> <SharedFlowBundle>traffic-management-shared</SharedFlowBundle> </FlowCallout>
Per saperne di più, consulta Chiamare un flusso condiviso da un proxy API o un flusso condiviso
- Esegui il deployment del proxy API di consumo per iniziare a utilizzare il flusso condiviso. Per saperne di più sul deployment in generale, consulta la panoramica del deployment.
-
Sviluppa in modo iterativo eseguendo il debug, come faresti con un proxy API.
Come per un proxy API, sviluppi un flusso condiviso richiamando ed eseguendo il debug in modo iterativo finché non ottieni la logica che desideri. In questo caso, poiché il flusso condiviso non viene eseguito autonomamente, invochi un endpoint proxy ed esegui il debug del proxy.
Prima di iniziare i passaggi che seguono, assicurati che sia il flusso condiviso sia il proxy API che lo chiama con un criterio
FlowCallout
si trovino nella stessa organizzazione e siano sottoposti a deployment nello stesso ambiente.Apigee nella console Cloud
- Nella scheda Debug del proxy API, inizia il debug del proxy API.
- Invia una richiesta a un endpoint proxy nel proxy API. Il flusso dall'endpoint deve
includere il criterio
FlowCallout
che chiama il flusso condiviso. - Nella scheda Debug, esamina il flusso dal proxy API al flusso condiviso. Per ulteriori informazioni sul debug, vedi Strumento di debug.
Apigee classico
- Nella scheda Trace del proxy API, inizia a tracciare il proxy API.
- Invia una richiesta a un endpoint proxy nel proxy API. Il flusso dall'endpoint deve
includere il criterio
FlowCallout
che chiama il flusso condiviso. - Nella scheda Trace, esamina il flusso dal proxy API al flusso condiviso.
Tieni presente che nella traccia, il flusso condiviso è rappresentato come un insieme di passaggi o criteri racchiusi in una casella grigia. Le icone che rappresentano i criteri di
FlowCallout
precedono i flussi condivisi. Per ulteriori informazioni sul tracciamento, vedi Strumento di debug.
Creazione di un flusso condiviso nell'interfaccia utente Apigee
Quando utilizzi l'API Apigee per creare un flusso condiviso, puoi crearlo da zero o importando le origini del flusso esistenti come file zip del bundle di flusso.
Accedi alla pagina Flussi condivisi, come descritto di seguito. Nella pagina Flussi condivisi, puoi visualizzare un elenco dei flussi condivisi nell'organizzazione e modificare o eliminare i flussi nell'elenco.
Per creare un flusso condiviso nell'interfaccia utente Apigee:
Apigee nella console Cloud
Nella console Google Cloud , vai alla pagina Sviluppo proxy > Flussi condivisi.
-
Seleziona l'organizzazione che contiene il flusso condiviso. Vedi
Passare da un'organizzazione
all'altra.
Il flusso condiviso sarà disponibile per tutti i proxy API e i flussi condivisi di cui è stato eseguito il deployment in un ambiente di questa organizzazione. Non sarà disponibile al di fuori di questa organizzazione.
-
Crea o carica un flusso condiviso:
-
Fai clic su Crea per creare un nuovo flusso da zero. Potrai configurare criteri e risorse come
passaggi del flusso.
Viene visualizzata la finestra di dialogo Crea un flusso condiviso.
-
Inserisci il nome del flusso condiviso.
Questo sarà il nome che i proxy API e gli altri flussi condivisi utilizzano per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori che utilizzano il flusso.
- Inserisci una descrizione per fornire maggiori informazioni sulle funzioni del flusso.
- Se la tua organizzazione ha attivato Apigee Spaces, puoi associare il flusso condiviso a uno spazio selezionato dall'elenco delle opzioni disponibili. Per saperne di più, consulta la panoramica di Apigee Spaces.
-
Fai clic su Crea.
Il flusso condiviso viene creato.
- Successivamente, puoi sviluppare le funzionalità del flusso condiviso ed eseguirne il deployment nell'ambiente desiderato.
-
Inserisci il nome del flusso condiviso.
- Fai clic su Carica bundle per creare un flusso condiviso da origini esistenti caricando un bundle di flussi.
Un bundle di flussi condivisi contiene gli artefatti di origine di un flusso condiviso. Ad esempio, se scarichi un flusso condiviso dalla console Apigee, avrai un file zip con il bundle del flusso.
Viene visualizzata la finestra di dialogo Crea un flusso condiviso.
- Seleziona il file zip contenente gli artefatti che vuoi nel nuovo flusso.
- Fai clic su Apri.
-
Inserisci un nome per il flusso condiviso importato.
Questo sarà il nome che i proxy API e gli altri flussi condivisi utilizzano per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori che utilizzano il flusso.
-
Fai clic su Crea.
Il flusso condiviso viene creato dal bundle.
- Successivamente, puoi sviluppare le funzionalità del flusso condiviso ed eseguirne il deployment nell'ambiente desiderato.
-
Fai clic su Crea per creare un nuovo flusso da zero. Potrai configurare criteri e risorse come
passaggi del flusso.
Apigee classico
- Accedi alla UI Apigee.
-
Seleziona l'organizzazione che contiene il flusso condiviso. Vedi
Passare da un'organizzazione
all'altra.
Il flusso condiviso sarà disponibile per tutti i proxy API e i flussi condivisi di cui è stato eseguito il deployment in un ambiente di questa organizzazione. Non sarà disponibile al di fuori di questa organizzazione.
- Seleziona Sviluppa > Flussi condivisi nella barra di navigazione a sinistra.
-
Crea o carica un flusso condiviso:
-
Fai clic su Crea nuovo per creare un nuovo flusso da zero. Potrai configurare criteri e risorse come
passaggi del flusso.
Viene visualizzata la finestra di dialogo Crea un flusso condiviso.
-
Inserisci il nome del flusso condiviso.
Questo sarà il nome che i proxy API e gli altri flussi condivisi utilizzano per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori che utilizzano il flusso.
- Inserisci una descrizione per fornire maggiori informazioni sulle funzioni del flusso.
- Se la tua organizzazione ha attivato Apigee Spaces, puoi associare il flusso condiviso a uno spazio selezionato dall'elenco delle opzioni disponibili. Per saperne di più, consulta la panoramica di Apigee Spaces.
-
Fai clic su Crea.
Il flusso condiviso viene creato.
- Successivamente, puoi sviluppare le funzionalità del flusso condiviso ed eseguirne il deployment nell'ambiente desiderato.
-
Inserisci il nome del flusso condiviso.
- Fai clic su Carica bundle per creare un flusso condiviso da origini esistenti caricando un bundle di flussi.
Un bundle di flussi condivisi contiene gli artefatti di origine di un flusso condiviso. Ad esempio, se scarichi un flusso condiviso dalla UI di Apigee, avrai un file zip con il bundle del flusso.
Viene visualizzata la finestra di dialogo Crea un flusso condiviso.
- Seleziona il file zip contenente gli artefatti che vuoi nel nuovo flusso.
- Fai clic su Apri.
-
Inserisci un nome per il flusso condiviso importato.
Questo sarà il nome che i proxy API e gli altri flussi condivisi utilizzano per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori che utilizzano il flusso.
-
Fai clic su Crea.
Il flusso condiviso viene creato dal bundle.
- Successivamente, puoi sviluppare le funzionalità del flusso condiviso ed eseguirne il deployment nell'ambiente desiderato.
-
Fai clic su Crea nuovo per creare un nuovo flusso da zero. Potrai configurare criteri e risorse come
passaggi del flusso.
Chiamata di un flusso condiviso da un proxy API o da un flusso condiviso
Puoi chiamare un flusso condiviso da un proxy o da un altro flusso condiviso utilizzando il criterio FlowCallout.
Apigee nella console Cloud
- Esegui una delle seguenti operazioni:
Nella console Google Cloud , vai alla pagina Sviluppo proxy > Proxy API.
Nella console Google Cloud , vai alla pagina Sviluppo proxy > Flussi condivisi.
- Fai clic sulla scheda Sviluppa.
- Nel riquadro di navigazione, fai clic su accanto a Policy.
- Nell'elenco delle norme, in Estensione, seleziona FlowCallout.
- Inserisci il nome visualizzato e il nome (identificatore univoco), poi seleziona il flusso condiviso che verrà chiamato da questo policy.
- Fai clic su Crea.
- Fai clic su accanto a Salva e poi su Salva come nuova revisione.
Apigee classico
- Nell'interfaccia utente Apigee, apri il proxy API o il flusso condiviso da cui vuoi chiamare il flusso condiviso.
- Fai clic sulla scheda Sviluppa.
- In Navigatore, accanto a Policy, fai clic su +.
- Nell'elenco delle norme, nella sezione Estensione, fai clic su FlowCallout.
- Inserisci il nome visualizzato e il nome (identificatore univoco), poi seleziona il flusso condiviso che verrà chiamato da questo policy.
- Fai clic su Aggiungi.