Incorporamento del codice procedurale

Questa pagina si applica a Apigee e Apigee ibrido.

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 di variabili di flusso, errori e organismi di richiesta e risposta.

Con il codice procedurale, puoi:

  • Creare o manipolare valori del corpo complessi, ad esempio valori di richieste e risposte.
  • 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

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, criterio JavaCallout e criterio PythonScript.

Di seguito viene descritto, a livello generale, un modo in cui funziona. Assicurati di consultare i riferimenti alle norme per ulteriori dettagli.

  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 sulle variabili di flusso, consulta Gestione dello stato del proxy con le variabili di flusso.

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

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

  4. Aggiungi la norma corrispondente alla lingua che utilizzi.

    Configura il criterio per effettuare una chiamata al tuo 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 Apigee non consente chiamate di sistema come I/O di rete, operazioni di lettura/scrittura dei file system, informazioni utente correnti, elenco di processi e utilizzo di CPU/memoria. Sebbene alcune di queste chiamate possano essere funzionanti, non sono supportate e potrebbero essere disattivate attivamente in qualsiasi momento. Per la compatibilità con inoltro, evita di effettuare chiamate di questo tipo nel codice.

Potrebbero esistere altre limitazioni per ogni lingua supportata, come descritto nel riferimento alle norme corrispondente per ogni 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 Modello a oggetti JavaScript.

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

Java

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

Python

Utilizza il criterio dello script Python per richiamare il codice Python.