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 a quel codice da altre parti di un proxy API. Il supporto per il codice procedurale è progettato semplificare l'implementazione di una gestione complessa di variabili di flusso, guasti, richieste e risposte i corpi celesti.

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

Utilizzi un criterio specifico per la lingua per effettuare chiamate da un flusso proxy al tuo incluso il codice. Per ciascuna delle lingue supportate, 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 le norme riferimenti 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 sul flusso consulta la sezione Gestione stato del proxy con 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 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 Apigee non consente chiamate di sistema come I/O di rete, file system operazioni di lettura/scrittura, informazioni utente correnti, elenco di processi e utilizzo di CPU/memoria. Anche se alcuni di questi le chiamate potrebbero essere funzionanti, 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 per JavaScript include un modello a oggetti completo per la gestione di variabili e valori specifici. a 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 Riferimento alle norme include esempi.

Python

Usa lo script Python per richiamare il codice Python.