Desarrollar proxies de API

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

Consulta la documentación de Apigee Edge.

Expone las API en Apigee Edge, debes implementar proxies de API. Los proxies de API separan la API orientada a la aplicación de sus servicios de backend, lo que protege a esas aplicaciones de los cambios en el código de backend.

Desarrolla tus proxies de API con Apigee en Cloud Code como se describe en las siguientes secciones. También consulta Administra carpetas y archivos en un lugar de trabajo de Apigee.

Crea un proxy de API

Para crear un proxy de API mediante Apigee en {code_name}}, haz lo siguiente:

  1. Realiza una de las siguientes acciones:

    • En la sección Apigee, coloca el cursor sobre la carpeta apiproxies y haz clic en Crear ícono.

      + se muestra cuando posicionas el cursor sobre la carpeta de apiproxies

    • Selecciona (View > Command pal) para abrir la paleta de comandos y selecciona Cloud Code: Create Apigee proxy bundle.

    Se abrirá el asistente de creación de proxy.

  2. Selecciona una de las opciones siguientes:

    Tipo Descripción
    Reverse proxy

    Es un proxy de API que enruta las solicitudes entrantes a servicios de backend HTTP existentes. Puede ser una API JSON o XML. Consulta Crea un proxy inverso para un servicio HTTP más adelante en esta sección.

    No target

    Es un proxy de API sin backend de API (“sin destino”). Es similar a la creación de un proxy inverso para un servicio HTTP, excepto que no especificarás una URL de destino existente cuando definas los detalles del proxy de API.

En las siguientes secciones se describen los pasos adicionales necesarios para crear cada tipo de proxy de API.

Crea un proxy inverso para un servicio HTTP

Apigee genera proxies inversos según la siguiente información:

  • La URL del servicio de backend
  • La ruta de acceso del URI que identifica de forma única la API que mostrará el proxy de la API a las aplicaciones para consumidores

Cuando selecciones Proxy inverso cuando crees un proxy de API, se te pedirán la autenticación de seguridad y los detalles del proxy de API que se describen en las siguientes tablas.

En Autenticación de seguridad, selecciona una de las siguientes opciones:

Autenticación de seguridad Descripción
API key based authentication

Agrega una verificación de clave de API simple al proxy de API que estás definiendo. Apigee agrega automáticamente las siguientes políticas a tu proxy de API:

  • VerifyAPIKey para validar claves de API presentadas mediante la solicitud de apps.
  • AssignMessage para quitar la clave de API, proporcionada en la llamada a la API como parámetro de consulta, de la solicitud reenviada al servidor de backend.
Access token based authentication

Agrega una autenticación basada en OAuth 2.0 a tu proxy de API. Apigee agrega automáticamente las siguientes políticas a tu proxy de API:

  • VerifyAPIKey para verificar el token de acceso
  • AssignMessage para quitar el encabezado Authorization que se pasa para la autenticación
Si deseas obtener información para autenticar con tokens de acceso, consulta Verifica tokens de acceso.
No authentication No se necesita autenticación. Las solicitudes se pasan al backend sin ninguna verificación de seguridad en Apigee.

En Detalles del proxy de API, responde cada una de las siguientes indicaciones y presiona Intro para confirmar y continuar, o Esc si deseas cancelar el asistente:

Campo Descripción
Backend target URL Es la URL del servicio de backend que invoca este proxy de API.
API proxy name Es el nombre que se muestra para tu API. Especifica caracteres alfanuméricos, guiones (-) o guiones bajos (_).
API proxy base path Fragmento de URI que aparece después de la dirección http://[host] o https://[host] del tu proxy de API. Apigee usa el URI de la ruta base para hacer coincidir los mensajes de solicitud entrantes y enrutarlos al proxy de API adecuado.

Use comodines en las rutas base

Usa uno o más comodines /*/ en las rutas base del proxy de API con el fin de preparar a los proxies de API para el futuro. Por ejemplo, una ruta base de /team/*/members permite que los clientes llamen a https://[host]/team/blue/members y a https://[host]/team/green/members sin necesidad de crear proxies de API nuevos para admitir equipos nuevos. Ten en cuenta que no se admite /**/.

Después de completar los pasos del asistente, se agrega la carpeta apiproxy-name nueva en apiproxies en la sección Apigee. Cada carpeta de proxy de API se estructura como se describe en la estructura del directorio de configuración del proxy de API.

A continuación, se proporciona un ejemplo de la configuración predeterminada creada para un proxy de API inverso llamado helloworld con políticas agregadas a fin de admitir la autenticación basada en claves de API.

Muestra la estructura de carpeta de un proxy inverso en la sección Apigee.

Para obtener una descripción de la configuración predeterminada, consulta Explora la configuración predeterminada del proxy de API.

Crea un proxy de API sin destino de backend

El proceso de crear un proxy de API sin destino de backend es el mismo que crear un proxy inverso, excepto que no se te solicita que especifiques una URL para el servicio de backend (Target (Existing API)) y que no se incluye la configuración del extremo de destino predeterminado. A fin de obtener más información, consulta Crea un proxy inverso para un servicio HTTP.

Explora la configuración predeterminada del proxy de API

En la siguiente tabla, se resumen los contenidos incluidos en la configuración predeterminada cuando creas un proxy de API según el tipo de proxy de API y las opciones de autenticación seleccionadas.

Proxy de configuración fileReverse
Proxy inverso
Sin destino
Autenticación OAuthV2
Autenticación de la clave de API
proxies/default.xml
Configuración predeterminada del extremo de proxy.
   
targets/default.xml
Configuración predeterminada del extremo de destino.
     
impose-quota.xml
Política de cuotas para definir una cuota predeterminada.
   
remove-header-authorization.xml
Política AssignMessage a fin de quitar el encabezado Authorization que se pasa para la autenticación.
    >
 
remove-query-param-apikey.xml
Política AssignMessage a fin de quitar el parámetro de búsqueda apikey que se pasa para la autenticación
     
verify-api-key.xml
Política VerifyAPIKey para aplicar la verificación de las claves de API.
     
La política verify-oauth-v2-access-token.xml de
OAuthV2 para validar los tokens de acceso de OAuth V2.
   
 

Sube un paquete de proxy de API

Para subir un paquete de proxy de API a Apigee en Cloud Code, haz lo siguiente:

  1. Realiza una de las siguientes acciones:

    • En la sección Apigee, coloca el cursor sobre la carpeta apiproxies y haz clic en Subir ícono.

    • Selecciona (View > Command pal) para abrir la paleta de comandos y selecciona Cloud Code: Import Apigee proxy package.

  2. Navega hasta el paquete del proxy de API que deseas subir y haz clic en Import proxy. El paquete del proxy de API debe estructurarse como se describe en Estructura del directorio de configuración del proxy de API.

  3. De forma predeterminada, el nombre del archivo ZIP menos su extensión se usa para el nombre del proxy de API (opcional). Si este nombre no es único, se te pedirá que ingreses un nombre único.

La carpeta apiproxy-name que se subió se agrega en apiproxies en la sección de Apigee.

Administra extremos de proxy

Como se describe en ¿Qué es un proxy de API?, un extremo de proxy (ProxyEndpoint) define la forma en que las apps cliente consumen tus API. Configura el extremo de proxy para definir la URL de tu proxy de API. El extremo del proxy también determina si las apps acceden al proxy de API a través de HTTP o HTTPS. Puedes adjuntar políticas al extremo del proxy para aplicar seguridad, verificaciones de cuotas y otros tipos de control de acceso y límite de frecuencia.

Crea y configura extremos de proxy como se describe en las siguientes secciones.

Crea extremos de proxy

Cuando creas un proxy de API, se agrega un extremo de proxy predeterminado a la configuración del proxy de API. Para obtener más información, consulta Explora la configuración predeterminada del proxy de API. Puedes crear extremos de proxy adicionales, según sea necesario.

Para crear un extremo de proxy con Apigee en Cloud Code, haz lo siguiente:

  1. En la sección Apigee, realiza una de las siguientes acciones:

    • En la sección Apigee, coloca el cursor sobre una de las siguientes carpetas, haz clic en Crear ícono y selecciona Crear extremo de proxy:
      • Paquete del proxy apiproxy-name
      • apiproxy-name/apiproxy
    • En la sección Apigee, coloca el cursor sobre la carpeta apiproxy-name/apiproxy/proxies y haz clic en Crear ícono.

    Se abrirá el asistente de creación de extremos de proxy.

  2. Ingresa los valores del siguiente conjunto de mensajes. Presiona Intro después de cada una a fin de confirmar y continuar o Esc para cancelar.

    Campo Descripción
    Proxy endpoint name Nombre que se usa para identificar el extremo del proxy.
    API proxy base path Parte de la URL usada para realizar solicitudes a tu API. Apigee usa la URL para hacer coincidir solicitudes entrantes y enrutarlas al proxy de API adecuado.

El extremo se crea y se agrega a la carpeta apiproxy-name/apiproxy/proxies en la sección Apigee y se abre en el editor. Configura el extremo del proxy, como se describe en la siguiente sección.

Configura extremos de proxy

Para configurar los extremos del proxy, consulta las siguientes secciones:

Administra extremos de destino

Como se describe en ¿Qué es un proxy de API?, un extremo de destino (TargetEndpoint) define la forma en que el proxy de API interactúa con tus servicios de backend. Puedes configurar el extremo de destino para reenviar solicitudes al servicio de backend adecuado, incluida la definición de cualquier configuración de seguridad, protocolo HTTP o HTTPS, y otra información de conexión. Puedes adjuntar políticas al extremo de destino a fin de asegurarte de que los mensajes de respuesta tengan el formato correcto para la app que realizó la solicitud inicial.

Crea y configura extremos de destino como se describe en esta sección.

Crea extremos de destino

Cuando creas un proxy de API inverso, se agrega un extremo de destino predeterminado a la configuración del proxy de API. Cuando creas un proxy de API sin destino de backend, solo se agrega el extremo del proxy predeterminado a la configuración del proxy de API, no se agrega ningún extremo de destino. Para obtener más información, consulta Explora la configuración predeterminada del proxy de API.

Crea extremos de destino, según sea necesario.

Para crear un extremo de destino con Apigee en Cloud Code, haz lo siguiente:

  1. En la sección Apigee, realiza una de las siguientes acciones:

    • En la sección Apigee, coloca el cursor sobre una de las siguientes carpetas, haz clic en Crear ícono y selecciona Crear extremo de destino:
      • Paquete del proxy apiproxy-name
      • apiproxy-name/apiproxy
    • En la sección Apigee, coloca el cursor sobre la carpeta apiproxy-name/apiproxy/targets y haz clic en Crear ícono.

    Se abrirá el asistente de creación de extremos de destino.

  2. Realiza los siguientes pasos en función del tipo de extremo de destino que desees crear:

    Tipo Pasos
    Destino de HTTP(S) externo

    Para definir un destino HTTP(S) externo, haz lo siguiente:

    1. Selecciona Destino HTTP(S).
    2. Ingresa el nombre del extremo de destino en Nombre del extremo de destino.
    3. Ingresa la URL del servicio de backend que invoca este extremo de destino en URL de destino del backend.

    Para obtener más información, consulta Determina la URL del extremo de destino.

    Encadenamiento de proxy

    Para definir un proxy de API implementado de forma local como destino, haz lo siguiente:

    1. Selecciona Encadenamiento de proxy.
    2. Ingresa el nombre del extremo de destino en Nombre del extremo de destino.
    3. Selecciona un proxy de API.
    4. Selecciona el extremo del proxy.

    Para obtener más información, consulta Encadena los proxies de API.

    Destino del balanceo de cargas

    Para definir un destino de balanceo de cargas con los servidores de destino definidos en el entorno, haz lo siguiente:

    1. Selecciona Destino del balanceo de cargas.
    2. Ingresa el nombre del extremo de destino en Nombre del extremo de destino.

    Para obtener más información, consulta Configura un TargetEndpoint para balancear cargas entre TargetServers con nombre.

El extremo de destino se crea y se agrega a la carpeta apiproxy-name/apiproxy/targets en la sección Apigee y se abre en el editor. Configura el extremo de destino, como se describe en la siguiente sección.

Configura extremos de destino

Configura los extremos de destino, como se describe en los siguientes temas.