Flussi condivisi riutilizzabili

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Puoi combinare criteri e risorse in un flusso condiviso utilizzabile da più proxy API e persino da altri flussi condivisi. Sebbene sia come un proxy, un flusso condiviso non ha endpoint. Può essere utilizzato solo da un proxy API o da un flusso condiviso che si trova nella stessa organizzazione del flusso condiviso stesso.

Catturando in un'unica posizione funzionalità utili in più luoghi, un flusso condiviso ti aiuta a garantire coerenza, ridurre i tempi di sviluppo e gestire più facilmente il codice.

Il video seguente mostra come creare e tracciare un flusso condiviso nell'interfaccia utente Edge.

Il seguente video di 5 minuti mostra come creare e tracciare un flusso condiviso nella UI classica di Edge (Edge solo per il cloud privato).

Puoi chiamare un flusso condiviso utilizzando la norma FlowCallout. Inoltre, collegando un flusso condiviso a un hook del 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 consultazioni sulle norme di FlowCallout, consulta le norme di FlowCallout. Per saperne di più sugli hook di flusso, consulta Collegare un flusso condiviso utilizzando un hook di flusso.

Ad esempio, immagina di avere aree di funzionalità utilizzate in più luoghi o che devono essere standardizzate nelle API della tua organizzazione. Potresti avere un flusso condiviso per ogni categoria, tra cui:

  • security, con codice di autorizzazione che utilizza OAuth e verifica tramite chiave API, nonché codice di protezione dalle minacce.
  • logging, per generare messaggi di errore standard.
  • mediazione, per la trasformazione tra i formati di messaggi XML e JSON.

Nella seguente illustrazione, due proxy API richiamano (con un criterio FlowCallout) un flusso condiviso per autenticare le richieste degli utenti in entrata. È stato eseguito il deployment di AuthSharedFlow separatamente nell'organizzazione prima dei proxy, in modo che sia disponibile per supportare le richieste dai proxy. Un flusso condiviso può essere sviluppato e gestito da un team responsabile di ampi criteri aziendali, quindi utilizzato come proxy dai team line-of-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. Invia invece le richieste a un proxy API che, a sua volta, richiama il flusso condiviso.

Di seguito sono riportati i passaggi generali per lo sviluppo di un flusso condiviso:

  1. Scopri quale dovrebbe essere l'insieme condiviso di funzionalità.

    Ad esempio, potresti voler combinare le funzionalità di gestione del traffico, inclusa l'eliminazione dei picchi di traffico. In questo modo, puoi gestirne la configurazione al di fuori del flusso di lavoro di coloro che implementano la logica line-of-business.

  2. Sviluppa un flusso condiviso implementando criteri e supportando le risorse, proprio come faresti per lo sviluppo di un proxy API.

    Un flusso condiviso è una sequenza di passaggi condizionali. Quindi, sviluppare un'API è come sviluppare un proxy API. Puoi includere criteri e risorse che potresti includere in un proxy.

    Ad esempio, nell'ambito del supporto per la gestione del traffico, potresti implementare un criterio di arresto dei picchi per consentire solo 30 richieste al secondo, come nell'esempio seguente:

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

    Quindi, a un flusso condiviso per la gestione del traffico, puoi collegare il criterio di arresto dei picchi come passaggio. Il criterio viene 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, consulta Creazione di un flusso condiviso nella UI perimetrale.

    Come per i proxy API, puoi importare un file ZIP contenente gli artefatti di origine dei flussi condivisi (consulta Importare un nuovo proxy API per saperne di più sull'importazione dei proxy). Di seguito viene illustrato come importare un flusso condiviso con l'API di gestione:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
    
  3. Esegui il deployment del flusso condiviso nell'ambiente prima di eseguire il deployment dei proxy o dei flussi condivisi che lo utilizzeranno. Puoi eseguire il deployment di un flusso condiviso nello stesso modo in cui esegui il deployment di un proxy API. Per saperne di più, consulta Panoramica del deployment.

    Un flusso condiviso deve trovarsi nella stessa organizzazione ed essere sottoposto a deployment nello stesso ambiente dei proxy API e di 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 di gestione come la seguente:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password
    

    Puoi anche sostituire un flusso condiviso attualmente di cui è stato eseguito il deployment senza tempi di inattività. È molto simile ai proxy API. Per saperne di più, consulta Eseguire il deployment dei proxy API utilizzando l'API di gestione. Ecco il modulo di richiesta utilizzando l'API di gestione:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
    
  4. Sviluppa il proxy API in uso in modo che possa chiamare il flusso condiviso come parte del proprio flusso.

    Da un proxy API, chiami un flusso condiviso con una norma FlowCallout. Puoi anche collegare il flusso condiviso al proxy utilizzando un hook di flusso, come descritto in Collegare un flusso condiviso utilizzando un hook di flusso. Per un tutorial introduttivo sulla creazione di un proxy API, consulta l'articolo Creare il primo proxy API.

    Per utilizzare un flusso condiviso, aggiungi un criterio FlowCallout al proxy o al flusso condiviso che lo utilizzerà. Come nel caso di una norma sui callout di servizio, con la quale richiami un altro servizio, un FlowCallout richiama il flusso condiviso. Il deployment del proxy API in uso deve essere eseguito dopo il flusso condiviso e nello stesso ambiente del flusso condiviso. Il flusso condiviso deve essere attivo quando vuoi testare una chiamata utilizzando il criterio FlowCallout.

    Nel codice seguente, un criterio FlowCallout richiama un flusso condiviso denominato traffic-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 da un flusso condiviso

  5. Esegui il deployment del proxy API in uso per iniziare a utilizzare il flusso condiviso. Per ulteriori informazioni sul deployment in generale, consulta Informazioni sul deployment.
  6. Sviluppa in modo iterativo tracciando, come faresti con un proxy API.

    Come con un proxy API, sviluppi un flusso condiviso richiamando e tracciando in modo iterativo fino a ottenere la logica come vuoi. In questo caso, poiché il flusso condiviso non viene eseguito in modo autonomo, richiama un endpoint proxy e traccia il proxy.

    La procedura è la seguente:

    1. Assicurati che il flusso condiviso e il proxy API che lo chiama con un criterio FlowCallout si trovino nella stessa organizzazione e che il deployment sia stato eseguito nello stesso ambiente.
    2. Nella scheda Trace del proxy API, inizia a tracciare il proxy API.
    3. Invia una richiesta a un endpoint proxy nel proxy API. Il flusso dall'endpoint deve includere il criterio FlowCallout che richiama il flusso condiviso.
    4. Nella scheda Trace (Traccia), esamina il flusso dal proxy API al flusso condiviso.

      Tieni presente che, nel tracciamento, il flusso condiviso è rappresentato come un insieme di passaggi o criteri racchiusi in una casella grigia. Le icone che rappresentano le norme FlowCallout precedono i flussi condivisi. Per ulteriori informazioni sul tracciamento, consulta la sezione Utilizzo dello strumento Trace.

Creazione di un flusso condiviso nell'interfaccia utente Edge

Quando utilizzi l'interfaccia utente di Apigee Edge per creare un flusso condiviso, puoi crearne uno da zero o importare le origini di flusso esistenti come file .zip del bundle di flussi.

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

    Perimetrale

    Per accedere alla pagina Flussi condivisi utilizzando l'interfaccia utente Edge:

    1. Accedi ad apigee.com/edge.
    2. Seleziona l'organizzazione che contiene il flusso condiviso. Consulta Passaggio 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 da questa organizzazione. Non sarà disponibile all'esterno di questa organizzazione.

    3. Seleziona Sviluppo > Flussi condivisi nella barra di navigazione a sinistra.

    Classic Edge (private cloud)

    Per accedere alla pagina Flussi condivisi utilizzando l'interfaccia utente classica di Edge:

    1. Accedi a http://ms-ip:9000, dove ms-ip è l'indirizzo IP o il nome DNS del nodo del server di gestione.
    2. Seleziona l'organizzazione che contiene il flusso condiviso. Consulta Passaggio 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 da questa organizzazione. Non sarà disponibile all'esterno di questa organizzazione.

    3. Seleziona API > Flussi condivisi nella barra di navigazione in alto.
  2. Fai clic sul pulsante + Flusso condiviso per iniziare ad aggiungere un nuovo flusso condiviso.
  3. Nella pagina Crea un flusso condiviso, scegli come creare il nuovo flusso:
    • Crea un nuovo flusso da zero. Potrai configurare criteri e risorse come passaggi del flusso.
      1. Seleziona Flusso condiviso vuoto.
      2. Inserisci un valore per il nome. Questo sarà il nome che i proxy API e altri flussi condivisi utilizzano per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori che utilizzano il flusso.
      3. Inserisci una descrizione per fornire ulteriori informazioni sulla funzione del flusso.
      4. Fai clic su Avanti.
      5. Facoltativamente, seleziona gli ambienti in cui vuoi eseguire il deployment del nuovo flusso.

        Ad esempio, se testerai il flusso condiviso dai proxy API di cui è stato eseguito il deployment nell'ambiente di test, esegui il deployment del flusso condiviso per testare.

      6. Fai clic su Crea ed esegui il deployment per creare il nuovo flusso condiviso e eseguirne il deployment negli ambienti selezionati. Se hai selezionato nessun ambiente, verrà creato il flusso condiviso, ma non ne verrà eseguito il deployment.

    • Crea un flusso condiviso da origini esistenti caricando un pacchetto di flussi.
      1. Seleziona Pacchetto di flusso condiviso per specificare un file .zip contenente gli artefatti che vuoi includere nel nuovo flusso.

        Un bundle di flusso condiviso contiene gli artefatti di origine di un flusso condiviso. Ad esempio, se scarichi un flusso condiviso dall'UI di Edge, avrai un file .zip con il pacchetto di flusso.

      2. Fai clic su Avanti.
      3. Fai clic su Scegli file per cercare il file .zip contenente le origini dei flussi condivisi che vuoi importare.
      4. Nella casella Nome flusso condiviso, inserisci un nome per il flusso importato. Questo sarà il nome che i proxy API e altri flussi condivisi utilizzano per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori che utilizzano il flusso.
      5. Fai clic su Avanti.
      6. Fai clic su Crea per creare il nuovo flusso dalle origini che stai importando.

Chiamata a 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 le norme relative ai callout di flusso.

  1. Nella UI di Edge, individua il proxy o il flusso condiviso da cui vuoi chiamare un altro flusso condiviso.
  2. Nel menu di navigazione, accanto a Norme, fai clic sul pulsante +.
  3. Nell'elenco delle norme, in Estensione, fai clic su FlussoCallout.
  4. Inserisci il nome e il nome visualizzati (identificatore univoco), quindi seleziona il flusso condiviso che verrà chiamato da questo criterio.
  5. Fai clic su Aggiungi.
  6. Aggiungi la nuova norma FlowCallout al proxy su cui vuoi effettuare la chiamata.

Vedi anche

Concatenamento dei proxy API