Intégrer du code procédural

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

Vous pouvez ajouter du code dans des langages procéduraux tels que JavaScript, Java et Python, puis appeler ce code depuis d'autres parties d'un proxy d'API. La compatibilité avec le code procédural est conçue pour faciliter la mise en œuvre de traitements complexes de variables de flux, de pannes et de corps de requêtes et de réponses.

Avec le code procédural, vous pouvez effectuer les actions suivantes :

  • Créer ou manipuler des valeurs de corps complexes, telles que des valeurs de requête et de réponse
  • Réécrire les URL, par exemple pour masquer l'URL d'un point de terminaison cible
  • Ajouter d'autres logiques qui ne sont pas disponibles avec les règles incluses

Fonctionnement

Vous utilisez une règle spécifique au langage pour pouvoir effectuer des appels depuis un flux de proxy vers le code inclus. Pour chacun des langages compatibles, Apigee inclut une règle distincte : une règle JavaScript, une règle JavaCallout et une règle PythonScript.

Ce qui suit décrit ce fonctionnement de manière générale. Pour en savoir plus, consultez les références concernant les règles.

  1. Dans un fichier distinct, saisissez le code que vous allez utiliser.
  2. Dans votre code, placez le résultat du traitement du code dans une variable de flux Apigee.

    Vous allez récupérer la valeur de la variable à un autre endroit de votre proxy d'API. Pour en savoir plus sur les variables de flux, consultez la page Gérer l'état du proxy avec des variables de flux.

  3. Ajoutez votre fichier (ou JAR) en tant que fichier de ressources au proxy d'API.

    Pour en savoir plus sur les fichiers de ressources, consultez la page Fichiers de ressources.

  4. Ajoutez la règle correspondant au langage que vous utilisez.

    Configurez la règle pour appeler votre code à partir de l'emplacement souhaité dans le flux de votre proxy d'API.

  5. Utilisez une règle pour récupérer la valeur du code à partir de la variable de flux.

Limites

Le modèle de sécurité Apigee n'autorise pas les appels système tels que les E/S réseau, les lectures/écritures de système de fichiers, les informations utilisateur actuelles, la liste des processus et l'utilisation du processeur/de la mémoire. Bien que certains de ces appels puissent être fonctionnels, ils ne sont pas acceptés et sont susceptibles d'être désactivés à tout moment. Pour assurer la compatibilité ascendante, vous devez éviter d'effectuer de tels appels dans votre code.

D'autres limites peuvent exister pour chaque langage accepté, comme décrit dans la documentation de référence correspondant au langage.

Langages acceptés

JavaScript

La compatibilité avec JavaScript inclut un modèle d'objet complet permettant de gérer les variables et les valeurs spécifiques à un proxy d'API. Pour en savoir plus, consultez la page Modèle d'objet JavaScript.

Pour obtenir des informations de référence sur les règles et des exemples, consultez la page Règle JavaScript.

Java

Utilisez la règle d'appel Java pour appeler du code Java à partir du flux de votre proxy. La documentation de référence sur les règles inclut des exemples.

Python

Utilisez la règle de script Python pour appeler du code Python.