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 questo codice da altre parti di un proxy API. Il supporto del codice procedurale è progettato per semplificare l'implementazione della 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 un URL endpoint target.
- Aggiungi un'altra logica non disponibile con i criteri inclusi.
Come funziona
Utilizzi un criterio specifico per il linguaggio per effettuare chiamate da un flusso proxy al tuo codice incluso. 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.
- In un file separato, scrivi il codice che intendi utilizzare.
- Nel codice, inserisci il risultato dell'elaborazione del codice in una variabile del flusso Apigee.
Recuperi il valore della variabile altrove nel proxy API. Per saperne di più sulle variabili di flusso, consulta Gestire lo stato del proxy con le variabili di flusso.
- 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.
- Aggiungi il criterio corrispondente alla lingua che stai utilizzando.
Configura il criterio in modo da effettuare una chiamata al codice dal punto desiderato nel flusso del proxy API.
- 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. Sebbene alcune di queste chiamate possano essere funzionali, non sono supportate e potrebbero essere disattivate attivamente in qualsiasi momento. Per la compatibilità futura, dovresti evitare di effettuare queste chiamate nel codice.
Potrebbero essere presenti altre limitazioni per ogni lingua supportata, come descritto nel riferimento alle norme corrispondente della lingua.
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 saperne di più, consulta il modello oggetto JavaScript.
Per informazioni di riferimento e esempi sulle norme, consulta le norme relative a JavaScript.
Java
Utilizza il Regolamento 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 Regolamento relativo agli script Python per richiamare il codice Python.