Incorporamento del codice procedurale

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Puoi aggiungere codice in linguaggi procedurali come JavaScript, Java e Python, quindi richiamare il codice da altre parti di un proxy API. Il supporto per il codice procedurale è progettato per semplificare l'implementazione della gestione complessa delle variabili di flusso, degli errori e dei corpi di richiesta e risposta.

Con il codice procedurale, puoi:

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

Come funziona

Puoi utilizzare un criterio specifico per la lingua per effettuare chiamate da un flusso proxy al codice incluso. Per ognuno dei linguaggi supportati, Apigee include un criterio separato: criterio JavaScript, criteri JavaCallout e Criterio PythonScript.

Di seguito viene descritto, a livello generale, uno dei modi in cui questo funziona. Assicurati di consultare i riferimenti alle norme per ulteriori dettagli.

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

    Potrai recuperare il valore della variabile altrove nel proxy API. Per ulteriori informazioni sulle variabili di flusso, consulta Gestione dello stato del proxy con le variabili di flusso.

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

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

  4. Aggiungi il criterio corrispondente alla lingua che stai utilizzando.

    Configura il criterio per effettuare una chiamata al codice dalla posizione desiderata nel flusso del proxy API.

  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, operazioni di lettura/scrittura nel file system, informazioni utente correnti, elenco di processi e utilizzo di CPU/memoria. Sebbene alcune di queste chiamate possano funzionare, non sono supportate e possono essere disattivate attivamente in qualsiasi momento. Per la compatibilità con l'inoltro, dovresti evitare di effettuare questo tipo di chiamate nel codice.

Possono esistere altre limitazioni per ogni lingua supportata, come descritto nel riferimento alle norme corrispondente della lingua.

Lingue supportate

JavaScript

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

Per informazioni ed esempi di riferimento sulle norme, consulta le norme relative a JavaScript.

Java

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

Python

Utilizza il criterio di Python Script per richiamare il codice Python.