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 chiamarlo da altre parti di un proxy API. Il supporto del codice procedurale è progettato per semplificare la gestione complessa di variabili di flusso, errori e corpi di richiesta e risposta.
Con il codice procedurale puoi:
- Crea o manipola valori del corpo complessi, come i valori di richiesta e risposta.
- Riscrivi gli URL, ad esempio per mascherare un URL endpoint di destinazione.
- Aggiungi altre logiche non disponibili con le policy incluse.
Come funziona
Utilizzi una policy specifica per la lingua per effettuare chiamate da un flusso proxy al tuo codice incluso. Per ognuna 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. Per ulteriori dettagli, consulta i riferimenti alle norme.
- In un file separato, scrivi il codice che utilizzerai.
- 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 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, consulta File di risorse.
- Aggiungi le norme corrispondenti alla lingua che stai utilizzando.
Configura la policy per effettuare una chiamata al tuo codice dalla posizione desiderata 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, lettura/scrittura 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à futura, ti consigliamo di evitare di effettuare queste chiamate nel tuo codice.
Potrebbero esistere altre limitazioni per ogni lingua supportata, come descritto nel riferimento alle norme corrispondenti della lingua.
Lingue supportate
JavaScript
Il supporto di JavaScript include un modello oggetto completo per la gestione di variabili e valori specifici di un proxy API. Per saperne di più, consulta Modello oggetto JavaScript.
Per informazioni di riferimento ed esempi relativi alle norme, consulta la sezione Norme JavaScript.
Java
Utilizza il JavaCallout policy per effettuare chiamate al codice Java dal flusso del proxy. L'argomento di riferimento delle norme include esempi.
Python
Utilizza il script Python policy per chiamare il codice Python.