Incorporamento del codice procedurale

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

Puoi aggiungere codice in linguaggi procedurali come JavaScript, Java e Python, quindi richiamare questo codice da altre parti di un proxy API. Il supporto del codice procedurale è progettato per semplificare l'implementazione di una gestione complessa di variabili di flusso, errori e corpo di richieste e risposte.

Con il codice procedurale puoi:

  • Crea o manipola valori complessi del corpo, ad esempio i valori di richiesta e risposta.
  • Riscrivere gli URL, ad esempio per mascherare l'URL di un endpoint di destinazione.
  • Aggiungi altra logica non disponibile con i criteri inclusi.

Come funziona

Utilizzi un criterio specifico per la lingua per effettuare chiamate da un flusso proxy al tuo incluso il codice. Per ciascuno dei linguaggi supportati, Apigee include un criterio separato: criterio JavaScript, criterio JavaCallout e criterio PythonScript.

Di seguito viene descritto, a grandi linee, un modo in cui funziona. Per ulteriori dettagli, consulta i riferimenti alle norme.

  1. In un file separato, scrivi il codice che intendi utilizzare.
  2. Nel codice, inserisci il risultato dell'elaborazione del codice in una variabile di flusso Apigee.

    Recupererai il valore della variabile altrove nel proxy API. Per ulteriori informazioni sul flusso consulta la sezione Gestione stato del proxy con variabili di flusso.

  3. Aggiungi il file (o il JAR) come file di risorse al proxy API.

    Per saperne di più sui file di risorse, consulta File di risorse.

  4. Aggiungi la norma corrispondente alla lingua che utilizzi.

    Configura il criterio per effettuare una chiamata al tuo codice dalla posizione che preferisci nell'API del flusso del proxy.

  5. Utilizza un criterio per recuperare il valore del codice dalla variabile di flusso.

Limitazioni

Il modello di sicurezza di Apigee non consente chiamate di sistema come I/O di rete, letture/scritture del filesystem, informazioni sull'utente corrente, elenco di processi e utilizzo di CPU/memoria. Anche se alcuni di questi le chiamate potrebbero essere funzionali, non sono supportate e potrebbero essere disattivate attivamente in qualsiasi momento. Per devi evitare di effettuare chiamate di questo tipo nel codice.

Potrebbero esistere altre limitazioni per ogni lingua supportata, come descritto nelle riferimento alla norma corrispondente.

Lingue supportate

JavaScript

Il supporto di JavaScript include un modello oggetto completo per la gestione di variabili e valori specifici per un proxy API. Per ulteriori informazioni, consulta Modello a oggetti JavaScript.

Per informazioni ed esempi relativi alle norme, consulta la sezione Criterio JavaScript.

Java

Utilizza il callout Java per effettuare chiamate al codice Java dal flusso del proxy. L'argomento di riferimento delle norme include esempi.

Python

Usa lo script Python per richiamare il codice Python.