Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Puoi aggiungere codice in linguaggi procedurali come JavaScript, Java e Python, quindi chiamare questo codice da altre parti di un proxy API. Il supporto per il codice procedurale è progettato per semplificarti l'implementazione della gestione complessa di variabili di flusso, errori e corpi di richiesta e risposta.
Con il codice procedurale puoi:
- Creare o manipolare valori di corpo complessi, come i valori di richiesta e risposta.
- Riscrivere gli URL, ad esempio per mascherare l'URL di un endpoint di destinazione.
- Aggiungere altra logica non disponibile con le policy incluse.
Come funziona
Per effettuare chiamate da un flusso proxy al codice incluso, devi utilizzare una policy specifica per la lingua. Per ognuna delle lingue supportate, Apigee Edge include una policy separata: policy JavaScript, policy Callout Java e policy Script Python.
Di seguito viene descritto, a livello generale, un modo in cui funziona. Per maggiori dettagli, consulta i riferimenti alle policy.
- In un file separato, scrivi il codice che utilizzerai.
- Nel codice, inserisci il risultato dell'elaborazione del codice in una variabile di flusso di Apigee Edge.
Recupererai il valore della variabile altrove nel proxy API. Per saperne di più sulle variabili di flusso, vedi Gestire lo stato del proxy con le variabili di flusso.
- Aggiungi il file (o JAR) come file di risorse al proxy API.
Per saperne di più sui file di risorse, vedi File di risorse.
- Aggiungi la policy corrispondente alla lingua che stai utilizzando.
Configura la policy per effettuare una chiamata al codice dalla posizione desiderata nel flusso del proxy API proxy's.
- Utilizza una policy per recuperare il valore del codice dalla variabile di flusso.
Limitazioni
Il modello di sicurezza di Apigee Edge non consente chiamate di sistema come I/O di rete, letture/scritture del file system, informazioni sull'utente corrente, elenco dei processi e utilizzo di CPU/memoria. Sebbene alcune di queste chiamate possano essere funzionali, non sono supportate e possono essere disattivate attivamente in qualsiasi momento. Per la compatibilità con le versioni successive, devi evitare di effettuare queste chiamate nel codice.
Potrebbero esistere altre limitazioni per ogni lingua supportata, come descritto nel riferimento alla policy corrispondente della lingua.
Lingue supportate
JavaScript
Il supporto per JavaScript include un modello di oggetto completo per la gestione di variabili e valori specifici a un proxy API. Per saperne di più, vedi Modello oggetto JavaScript.
Per informazioni di riferimento e esempi sulle policy, vedi Policy JavaScript e Programmare proxy API con JavaScript. Per il codice campione, cerca nell'elenco degli esempiquelli che includono JavaScript.
Java
Utilizza la policy Callout Java per effettuare chiamate al codice Java dal flusso del proxy. L'argomento di riferimento della policy include esempi.
Potrebbero interessarti anche i seguenti argomenti:
- Come creare un callout Java
- Come gestire gli errori di callout Java
- Come utilizzare le proprietà in un callout Java
Per un esempio di codice campione, cerca nell'elenco degli esempiquelli che includono Java.
Python
Utilizza la policy Script Python per chiamare il codice Python.
Per il codice campione, cerca nell'elenco degli esempiquelli che includono Python.