Flussi condivisi riutilizzabili

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Puoi combinare policy 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.

Acquisendo in un unico posto funzionalità utili in più posizioni, un flusso condiviso ti aiuta a garantire la coerenza, ridurre i tempi di sviluppo e gestire più facilmente il codice.

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

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

Puoi chiamare un flusso condiviso utilizzando la policy 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 di proxy o di destinazione oppure dopo una risposta di proxy o di destinazione.

Per informazioni sulla policy FlowCallout, consulta la policy FlowCallout. Per saperne di più sugli hook di flusso, consulta Collegamento di un flusso condiviso utilizzando un hook di flusso.

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

  • Sicurezza, con codice di autorizzazione che utilizza l'autenticazione OAuth e la verifica della chiave API, nonché codice di protezione dalle minacce.
  • Logging, per la generazione di messaggi di errore standard.
  • Mediazione, per la trasformazione tra i formati dei messaggi XML e JSON.

Nella seguente illustrazione, due proxy API chiamano (con una policy FlowCallout) un flusso condiviso per autenticare le richieste utente in entrata. AuthSharedFlow è stato eseguito 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 policy 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 le 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 di alto livello per lo sviluppo di un flusso condiviso:

  1. Determina quale deve essere il set condiviso di funzionalità.

    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 coloro che implementano la logica di linea di business.

  2. Sviluppa un flusso condiviso implementando policy e risorse di supporto, proprio come faresti quando sviluppi un proxy API.

    Un flusso condiviso è una sequenza di passaggi condizionali. Quindi, svilupparne uno è come sviluppare un proxy API. Puoi includere policy 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 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>

    Poi, a un flusso condiviso per la gestione del traffico, potresti collegare la policy Spike Arrest come passaggio. La policy verrà eseguita 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 nell'interfaccia utente di Edge.

    Come per i proxy API, puoi importare un file ZIP contenente gli artefatti di origine del flusso condiviso (per saperne di più sull'importazione dei proxy, consulta Importare un nuovo proxy API). La seguente illustrazione mostra 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. Esegui 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 eseguito nello stesso ambiente dei proxy API e degli altri flussi condivisi che lo utilizzano. L'esecuzione del 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 all'API di gestione, ad esempio 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 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 che utilizza 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 di utilizzo in modo che possa chiamare il flusso condiviso come parte del proprio flusso.

    Da un proxy API, chiami un flusso condiviso con una policy FlowCallout. (Puoi anche collegare il flusso condiviso al proxy utilizzando un hook di flusso, come descritto in Collegamento di un flusso condiviso utilizzando un hook di flusso.) Per un tutorial introduttivo sulla creazione di un proxy API, consulta Crea il tuo primo proxy API.

    Per utilizzare un flusso condiviso, aggiungi una policy FlowCallout al proxy o al flusso condiviso che utilizzerà. Come una policy Service Callout, con cui chiami un altro servizio, una policy FlowCallout chiama il flusso condiviso. Il proxy API di utilizzo 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 la policy FlowCallout.

    Nel seguente codice, una policy FlowCallout chiama 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 di utilizzo per iniziare a utilizzare il flusso condiviso. (Per saperne di più sul deployment in generale, consulta Informazioni sul deployment.)
  6. Sviluppa in modo iterativo tramite il tracciamento, come faresti con un proxy API.

    Come per un proxy API, sviluppi un flusso condiviso richiamandolo e tracciandolo in modo iterativo finché non ottieni la logica desiderata. In questo caso, poiché il flusso condiviso non viene eseguito autonomamente, richiami un endpoint proxy e tracci il proxy.

    Procedi nel modo seguente:

    1. Assicurati che sia il flusso condiviso sia il proxy API che lo chiama con una policy FlowCallout si trovino nella stessa organizzazione e siano eseguiti nello stesso ambiente.
    2. Nella scheda Traccia 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 la policy FlowCallout che chiama il flusso condiviso.
    4. Nella scheda Traccia, esamina il flusso dal proxy API al flusso condiviso.

      Tieni presente che nella traccia il flusso condiviso è rappresentato come un insieme di passaggi o policy racchiusi in una casella grigia. Le icone che rappresentano le policy FlowCallout precedono i flussi condivisi. (Per saperne di più sul tracciamento, consulta Utilizzare lo Strumento Traccia.)

Creazione di un flusso condiviso nell'interfaccia utente di Edge

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

  1. Accedi alla pagina Flussi condivisi, come descritto di seguito. Nella pagina Flussi condivisi, puoi visualizzare un elenco di flussi condivisi nell'organizzazione e modificare o eliminare i flussi nell'elenco.

    Edge

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

    1. Accedi a apigee.com/edge.
    2. Seleziona l'organizzazione contenente il flusso condiviso. Consulta Passaggio da un'organizzazione a un'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 dall'esterno di questa organizzazione.

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

    Edge classico (cloud privato)

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

    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 contenente il flusso condiviso. Consulta Passaggio da un'organizzazione a un'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 dall'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 vuoi creare il nuovo flusso:
    • Crea un nuovo flusso da zero. Potrai configurare policy e risorse come passaggi del flusso.
      1. Seleziona Flusso condiviso vuoto.
      2. Inserisci un valore per il nome. Questo sarà il nome utilizzato dai proxy API e da altri flussi condivisi 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 maggiori informazioni su cosa fa il flusso.
      4. Fai clic su Avanti.
      5. (Facoltativo) 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 in test.

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

    • Crea un flusso condiviso da origini esistenti caricando un bundle di flusso.
      1. Seleziona Bundle di flussi condivisi per specificare un file ZIP contenente gli artefatti che vuoi includere nel nuovo flusso.

        Un bundle di flussi condivisi contiene gli artefatti di origine di un flusso condiviso. Ad esempio, se scarichi un flusso condiviso dall'interfaccia utente di Edge, avrai un file ZIP con il bundle di flusso.

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

Chiamare 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 la policy FlowCallout.

  1. Nell'interfaccia utente di Edge, individua il proxy o il flusso condiviso da cui vuoi chiamare un altro flusso condiviso.
  2. Nel navigatore, accanto a Policy, fai clic sul pulsante +.
  3. Nell'elenco delle policy, in Estensione, fai clic su FlowCallout.
  4. Inserisci il nome visualizzato e il nome (identificatore univoco), quindi seleziona il flusso condiviso che questa policy chiamerà.
  5. Fai clic su Aggiungi.
  6. Aggiungi la nuova policy FlowCallout al proxy in cui vuoi effettuare la chiamata.

Vedi anche

Concatenamento di proxy API