Incorporar código de procedimiento

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Puedes agregar código en lenguajes de procedimiento como JavaScript, Java y Python, y luego llamar a ese código desde otras partes de un proxy de API. La asistencia para el código de procedimientos está diseñada para que sea más fácil implementar un control complejo de variables de flujo, fallas y cuerpos de solicitud y respuesta.

Con el código de procedimiento, puedes hacer lo siguiente:

  • Crear o manipular valores de cuerpo complejos, como valores de solicitud y respuesta
  • Volver a escribir las URL, como para enmascarar una URL de extremo de destino
  • Agregar otra lógica que no esté disponible con las políticas incluidas

Cómo funciona

Usa una política específica del lenguaje para realizar llamadas desde un flujo de proxy a tu código incluido. Para cada uno de los lenguajes compatibles, Apigee incluye una política independiente: política de JavaScript, política de JavaCallout y política de PythonScript.

A continuación, se describe, en un nivel alto, una forma en que funciona. Asegúrate de ver las referencias de la política para obtener más detalles.

  1. En un archivo separado, escribe el código que vas a usar.
  2. En tu código, coloca el resultado del procesamiento del código en una variable de flujo de Apigee.

    Recuperarás el valor de la variable en otro lugar del proxy de API. Para obtener más información sobre las variables de flujo, consulta Administra el estado del proxy con variables de flujo.

  3. Agrega el archivo (o JAR) como un archivo de recursos al proxy de la API.

    Para obtener más información sobre los archivos de recursos, consulta Archivos de recursos.

  4. Agrega la política correspondiente al lenguaje que usas.

    Configura la política para realizar una llamada a tu código desde el lugar deseado en el flujo del proxy de API.

  5. Usa una política para recuperar el valor del código de la variable de flujo.

Limitaciones

El modelo de seguridad de Apigee no permite llamadas al sistema, como E/S de red, lectura y escritura del sistema de archivos, información actual del usuario, lista de procesos y uso de CPU o memoria. Aunque algunas de estas llamadas pueden ser funcionales, no son compatibles y son responsables de inhabilitarse de forma activa en cualquier momento. Para garantizar la compatibilidad con versiones futuras, debes evitar realizar este tipo de llamadas en tu código.

Existen otras limitaciones para cada lenguaje admitido, como se describe en la referencia de la política correspondiente del lenguaje.

Idiomas admitidos

JavaScript

La compatibilidad con JavaScript incluye un modelo de objetos completo para controlar variables y valores específicos de un proxy de API. Para obtener más información, consulta el modelo de objetos de JavaScript.

Para obtener información de referencia de la política y ejemplos, consulta la política de JavaScript.

Java

Usa la política de texto destacado de Java para realizar llamadas al código de Java desde el flujo de tu proxy. En el tema de referencia de la política, se incluyen ejemplos.

Python

Usa la política de secuencia de comandos de Python para llamar al código de Python.