Flussi condivisi riutilizzabili

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

Puoi combinare criteri e risorse in un flusso condiviso da utilizzare da più proxy API e anche 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 nello stesso organizzazione come flusso condiviso stesso.

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

Il seguente video mostra come creare e tracciare un flusso condiviso nella UI di Edge.

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

Puoi chiamare un flusso condiviso utilizzando il criterio FlowCallout. Inoltre, allegando 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 del proxy o di destinazione.

Per riferimento alle norme di FlowCallout, consulta le norme di FlowCallout. Per ulteriori informazioni su hook di flusso, consulta Collegare un flusso condiviso usando un hook di flusso.

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

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

Nell'illustrazione seguente, due proxy API richiamano (con un criterio FlowCallout) a un per autenticare le richieste utente in entrata. Il deployment di AuthSharedFlow è stato eseguito separatamente all'organizzazione prima dei proxy, in modo che sia disponibile per supportare le richieste proxy. Un flusso condiviso può essere sviluppato e gestito da un team responsabile di una poi utilizzati in 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. Nella In altre parole, non puoi inviare richieste direttamente a un flusso condiviso come faresti con un proxy API. Invia invece richieste a un proxy API che, a sua volta, richiama il flusso condiviso.

Ecco i passaggi generali per sviluppare 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 la soppressione di picchi di traffico. In questo modo, puoi gestire la loro configurazione al di fuori del loro flusso di lavoro. implementando la logica line-of-business.

  2. Sviluppa un flusso condiviso implementando norme e risorse di supporto, proprio come faresti durante lo sviluppo di un proxy API.

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

    Ad esempio, come parte del supporto per la gestione del traffico, potresti implementare una funzionalità Arresta il criterio 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 Spike Arrest come un 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 nell'interfaccia utente di Edge.

    Come per i proxy API, puoi importare un file ZIP contenente l'origine del flusso condivisa (consulta la sezione Importare un nuovo API Proxy per saperne di più sull'importazione dei proxy). Di seguito viene illustrato come importare 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 ne consumerà. Esegui il deployment di un flusso condiviso nello stesso modo in cui esegui il deployment di un proxy API. (Per consulta Informazioni sul deployment panoramica.)

    Un flusso condiviso deve trovarsi nella stessa organizzazione ed essere sottoposto a deployment nello stesso ambiente dell'API proxy e altri flussi condivisi che la utilizzano. Deployment del flusso condiviso prima dei proxy permette 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 di cui è stato eseguito il deployment senza tempi di inattività. (È molto simile Proxy API. Vedi 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 che utilizza in modo che possa chiamare il flusso condiviso come parte del proprio flusso di lavoro.

    Da un proxy API, devi chiamare un flusso condiviso con un criterio FlowCallout. (puoi Inoltre, colleghi 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 Creare il tuo primo proxy API.

    Per utilizzare un flusso condiviso, aggiungi un criterio FlowCallout al proxy o al flusso condiviso che lo consumerà. Come le norme sui callout di servizio, con cui richiami un altro servizio, FlowCallout richiama il flusso condiviso. È necessario eseguire il deployment del proxy API che utilizza dopo il flusso condiviso e nello stesso ambiente del flusso condiviso. La il flusso condiviso deve essere attivo quando vuoi testare una chiamata utilizzando il criterio FlowCallout.

    Nel codice riportato di seguito, 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 ulteriori informazioni, consulta Chiamata a un flusso condiviso da un proxy API o flusso condiviso

  5. Esegui il deployment del proxy API che utilizza per iniziare a utilizzare il flusso condiviso. Per ulteriori informazioni sul deployment, in generale, consulta la sezione Informazioni deployment.)
  6. Sviluppa in modo iterativo mediante il tracciamento, come faresti con un proxy API.

    Come con un proxy API, sviluppi un flusso condiviso richiamando e tracciando in modo iterativo fino la logica che vuoi tu. In questo caso, perché il flusso condiviso non viene eseguito si richiama un endpoint proxy e ne vengono tracciati.

    Procedi nel seguente modo:

    1. Assicurati che sia il flusso condiviso sia il proxy API che lo chiama con un FlowCallout si trovano nella stessa organizzazione e ne viene eseguito il deployment 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 Includono il criterio FlowCallout che richiama il flusso condiviso.
    4. Nella scheda Trace, esamina il flusso dal proxy API a quello 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 i criteri di FlowCallout precedono i flussi condivisi. Per ulteriori informazioni sul tracciamento, consulta la sezione Utilizzo del strumento Trace.

Creazione di un flusso condiviso nella UI Edge

Quando utilizzi l'interfaccia utente di Apigee Edge per creare un flusso condiviso, puoi crearne uno direttamente o importando origini di flussi 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 di flussi condivisi nell'organizzazione e modificare o eliminare i flussi nell'elenco.

    Edge

    Per accedere alla pagina Flussi condivisi utilizzando l'UI Edge:

    1. Accedi a apigee.com/edge.
    2. Seleziona l'organizzazione contenente 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 di un ambiente di lavoro di questa organizzazione. Non sarà disponibile al di fuori di questa organizzazione.

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

    Perimetrale classico (Private Cloud)

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

    1. Accedi a http://ms-ip:9000, dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.
    2. Seleziona l'organizzazione contenente 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 di un ambiente di lavoro di questa organizzazione. Non sarà disponibile al di fuori di questa organizzazione.

    3. Seleziona API > Flussi condivisi nella barra di navigazione superiore.
  2. Fai clic sul pulsante + Flow condiviso per iniziare ad aggiungere un nuovo flusso condiviso.
  3. Nella pagina Build a Shared Flow (Crea un flusso condiviso), scegli come creare il nuovo flusso:
      .
    • Crea un nuovo flusso da zero. Potrai configurare criteri e risorse passaggi nel flusso.
      1. Seleziona Svuota flusso condiviso.
      2. Inserisci un valore per il nome. Questo sarà il nome con cui i proxy API e altri flussi condivisi per fare riferimento a questo flusso condiviso. Il nome deve essere descrittivo per gli sviluppatori durante 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 di test, quindi esegui il deployment del flusso condiviso in test.

      6. Fai clic su Crea ed esegui il deployment per creare il nuovo flusso condiviso e eseguirne il deployment gli ambienti selezionati. Se non hai selezionato alcun ambiente, il flusso condiviso ma non di cui è stato eseguito il deployment.

    • Crea un flusso condiviso da origini esistenti caricando un bundle di flusso.
      1. Seleziona Shared Flow Bundle (Pacchetto di flusso condiviso) per specificare un file .zip contenente gli artefatti che vuoi nel nuovo flusso.

        Un bundle di flusso condiviso contiene gli artefatti di origine di un flusso condiviso. Ad esempio: se scaricassi un flusso condiviso dalla UI Edge, avresti avuto 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 il flusso condiviso da quelle che vuoi importare.
      4. Nella casella Nome flusso condiviso, inserisci un nome per il flusso importato. In questo modo essere 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 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 il Norme relative ai callout di flusso.

  1. Nella UI Edge, individua il proxy o il flusso condiviso da cui desideri per chiamare un altro flusso condiviso.
  2. Nel Navigatore, accanto a Norme, fai clic sul pulsante +.
  3. Nell'elenco dei criteri, in Estensione, fai clic su FlowCallout.
  4. Inserisci il nome e il nome visualizzati (identificatore univoco), quindi seleziona il flusso condiviso che verrà chiamato.
  5. Fai clic su Aggiungi.
  6. Aggiungi il nuovo criterio FlowCallout al proxy dove vuoi che venga effettuata la chiamata.

Vedi anche

Concatenamento dei proxy API