Esta página se aplica a Apigee y Apigee híbrido .
Ver la documentación de Apigee Edge .
Apigee permite exponer rápidamente servicios backend como API. Para ello, se crea un proxy de API que proporciona una fachada para el servicio backend que se desea exponer. Solo se necesita proporcionar la dirección de red del servicio backend, junto con información que Apigee utiliza para crear el proxy de API que se expone a los desarrolladores.
El proxy de API desvincula la implementación de tu servicio backend de la API que consumen los desarrolladores. Esto los protege de futuros cambios en tus servicios backend. A medida que actualizas los servicios backend, los desarrolladores, al estar protegidos de dichos cambios, pueden seguir llamando a la API sin interrupciones.
Este tema proporciona información sobre los distintos tipos de proxies y su configuración. Para obtener instrucciones paso a paso sobre cómo crear proxies, consulte los siguientes temas:
Creación de un proxy API mediante la interfaz de usuario
La forma más sencilla de crear un proxy API es utilizar el asistente Crear proxy .
Para acceder al asistente Crear proxy mediante la interfaz de usuario de Apigee, realice los siguientes pasos:
- Inicie sesión en la interfaz de usuario de Apigee .
- En la barra de navegación, seleccione Desarrollar > Proxies de API .
- Haga clic en Crear nuevo .
El asistente Crear proxy se muestra y lo guía a través de los pasos para generar y agregar funciones mínimas a un proxy API.
La primera página del asistente le permite crear un proxy API a partir de las siguientes fuentes:
Tipo | Descripción |
---|---|
Proxy inverso (el más común) | Un proxy API que enruta las solicitudes entrantes a servicios backend HTTP existentes. Puede ser una API JSON o XML. Consulte "Crear un proxy inverso para un servicio HTTP" más adelante en esta sección. Haga clic en "Usar especificación OpenAPI" para generar el proxy a partir de una especificación OpenAPI válida. Para obtener más información sobre esta opción, consulte "Usar especificaciones OpenAPI para generar proxies" más adelante en esta sección. |
Sin objetivo | Un proxy de API sin backend de API ("sin destino"). Similar a la creación de un proxy inverso para un servicio HTTP descrita anteriormente, excepto que no se especificará una API existente al definir los detalles del proxy de API. Haga clic en "Usar especificación OpenAPI" para generar el proxy a partir de una especificación OpenAPI válida. Para obtener más información sobre esta opción, consulte "Usar especificaciones OpenAPI para generar proxies" más adelante en esta sección. |
Subir paquete de proxy | Un paquete de proxy de API existente (por ejemplo, uno de los ejemplos de proxy de API disponibles en GitHub). Consulta "Importar un proxy de API desde un paquete de proxy de API" . |
Las siguientes secciones analizan los detalles de cada tipo de proxy.
Creación de un proxy inverso para un servicio HTTP
Apigee genera servidores proxy inversos basados en la siguiente información:
- URL del servicio backend.
- Ruta URI que identifica de forma única la API que el proxy de API expondrá a las aplicaciones del consumidor.
La URL del servicio backend suele representar una aplicación habilitada para servicios propiedad de su organización. También puede apuntar a una API pública. La API o el servicio pueden estar bajo su control (por ejemplo, una aplicación interna de RR. HH. o una aplicación Rails en la nube) o ser una API o servicio de terceros (por ejemplo, Twitter o Instagram).
Los siguientes detalles de proxy están disponibles después de acceder al asistente Crear proxy y seleccionar un tipo de proxy :
Campo | Descripción |
---|---|
Nombre | Nombre mostrado para tu API. Especifica caracteres alfanuméricos, guion (-) o guion bajo (_). |
Ruta base | Fragmento de URI que aparece después de la dirección Después de la ruta base se encuentran las URL de recursos adicionales. La estructura completa de URL que los clientes usan para llamar a su proxy de API es la siguiente: Utilice comodines en las rutas base Use uno o más comodines |
Descripción | (Opcional) Descripción de la API. |
Objetivo (API existente) | URL del servicio backend que este proxy API invoca. |
Importar un proxy de API desde un paquete de proxy de API
Los proxies de API suelen definirse como una colección de archivos XML, junto con otros archivos de soporte. Al definirlos como un conjunto de archivos externos a Apigee, se pueden mantener en un sistema de control de versiones y luego importarlos a Apigee para pruebas e implementación.
Para importar servidores proxy de API desde un paquete de servidores proxy de API, realice los siguientes pasos:
- Acceda al asistente Crear proxy como se describe en Crear un proxy de API mediante la interfaz de usuario anteriormente en esta sección.
- Haga clic en Cargar paquete de proxy .
En la página Cargar paquete de proxy del asistente de proxy, ingrese la siguiente información:
Campo Descripción Paquete ZIP Archivo ZIP con la configuración del proxy de la API. Arrastre y suelte o haga clic para acceder al archivo. Nombre Nombre mostrado para tu API. El valor predeterminado es el nombre del archivo ZIP sin la extensión. - Haga clic en Siguiente .
En la página Resumen , seleccione los entornos de implementación, si lo desea, y haga clic en Crear e implementar
Se muestra un acuse de recibo confirmando que su nuevo proxy API se creó correctamente.
- Haga clic en Editar proxy para mostrar la página de detalles del proxy API.
Creación de servidores proxy de API de gRPC
Además de los proxies de API REST, Apigee admite proxies de API gRPC con soporte de paso a través, por el momento. Con este soporte , la carga útil de gRPC es opaca para Apigee y el tráfico se enruta desde el cliente gRPC al servidor de destino gRPC preconfigurado en la configuración de destino.En este momento, los servidores proxy de API gRPC de Apigee:
- Admite solicitudes gRPC unarias.
- No se pueden utilizar políticas que afecten la carga útil.
- Se puede usar en productos API no asociados con proxies GraphQL o REST. Las cuotas específicas del producto API y otras configuraciones de operación se aplican a todos los proxies del producto.
- No son compatibles con Apigee híbrido.
- Utilice dos variables de flujo específicas de gRPC:
request.grpc.rpc.name
yrequest.grpc.service.name
. - Se puede monitorear con estas variables de Apigee Analytics específicas de gRPC:
x_apigee_grpc_rpc_name
,x_apigee_grpc_service_name
yx_apigee_grpc_status
. - Devolver códigos de estado de gRPC .
También debe configurar su balanceador de carga para que sea compatible con gRPC. Consulte "Usar gRPC con sus aplicaciones" y "Usar comandos de la CLI de gcloud para crear enrutamiento para gRPC" .
Para crear un proxy de API gRPC, primero defina un servidor de destino gRPC (consulte Creación de servidores de destino ) y luego especifique ese servidor de destino al crear el nuevo proxy.
Uso de comandos CLI de gcloud para crear enrutamiento para gRPC
Esta sección muestra comandos de ejemplo para crear enrutamiento para proxies gRPC mediante la CLI de gcloud . Las instrucciones incluyen la configuración de balanceadores de carga, un servidor de destino y una MIG.
Esta sección no constituye una guía completa para la creación del enrutamiento. Estos ejemplos podrían no ser adecuados para todos los casos de uso. Además, estas instrucciones presuponen familiaridad con el enrutamiento externo (MIG) y la configuración de gRPC del balanceador de carga en la nube .
Establecer variables de entorno
Estas variables de entorno se utilizan en los comandos de las subsecciones.
PROJECT_ID=YOUR_PROJECT_ID MIG_NAME=YOUR_MIG_NAME VPC_NAME=default VPC_SUBNET=default REGION=REGION_NAME APIGEE_ENDPOINT=ENDPOINT CERTIFICATE_NAME=CERTIFICATE_NAME DOMAIN_HOSTNAME=DOMAIN_HOSTNAME
Añadiendo seguridad
En la página Políticas comunes del asistente para crear proxy , seleccione el tipo de autorización de seguridad que desea agregar. La siguiente tabla resume las opciones disponibles:
Autorización de seguridad | Descripción |
---|---|
Clave API | Añade una verificación simple de la clave API al proxy API que estás definiendo. En respuesta, la Plataforma API añade una política VerifyAPIKey y una política AssignMessage a tu proxy API. La política VerifyAPIKey valida las claves API presentadas por las aplicaciones solicitantes. La política AssignMessage elimina la clave API, proporcionada en la llamada API como parámetro de consulta, de la solicitud reenviada al servidor backend. |
OAuth 2.0 | Añade autenticación basada en OAuth 2.0 a tu proxy de API. Apigee añade automáticamente las siguientes políticas a tu proxy de API: una para verificar un token de acceso y otra para eliminarlo del mensaje antes de reenviarlo a tu servicio backend. Para saber cómo obtener un token de acceso, consulta OAuth . |
Pasar a través (sin autorización) | No se requiere autorización. Las solicitudes se envían al backend sin ninguna comprobación de seguridad en Apigee. |
Añadiendo soporte para CORS
El intercambio de recursos entre orígenes (CORS) es un mecanismo estándar que permite a un navegador web realizar solicitudes directas a otro dominio. El estándar CORS define un conjunto de encabezados HTTP que los navegadores y servidores web utilizan para implementar la comunicación entre dominios.
Puede agregar soporte para CORS realizando una de las siguientes acciones:
- Agregar la política CORS al PreFlow de solicitud de ProxyEndpoint
- Seleccionar Agregar encabezados CORS en la página Políticas comunes del asistente Crear proxy
Para obtener información más detallada sobre la compatibilidad con CORS, incluida la incorporación de compatibilidad previa al vuelo de CORS a un proxy, consulte Cómo incorporar compatibilidad con CORS a un proxy de API .
Agregar cuotas
Las cuotas protegen su servicio backend del tráfico elevado bajo Cuota . Consulte Cuotas . (No disponible si se selecciona la autorización de paso).
Uso de especificaciones OpenAPI para generar proxies
En esta sección se analiza la opción Usar OpenAPI, que está disponible para generar a partir de una especificación OpenAPI los siguientes tipos de servidores proxy de API: inversos o sin destino.
¿Qué es una especificación OpenAPI?
La Iniciativa Open API (OAI) se centra en la creación, el desarrollo y la promoción de un formato de descripción de API independiente del proveedor, basado en la Especificación Swagger. Para más información, consulte la Iniciativa OpenAPI .
Una especificación OpenAPI utiliza un formato estándar para describir una API RESTful. Escrita en formato JSON o YAML, es legible por máquinas, pero también fácil de leer y comprender para humanos. La especificación describe elementos de la API como su ruta base, rutas y verbos, encabezados, parámetros de consulta, operaciones, tipos de contenido, descripciones de respuestas, etc. Además, una especificación OpenAPI se utiliza comúnmente para generar documentación de la API.
El siguiente fragmento de una especificación de OpenAPI describe el servicio de destino simulado de Apigee: http://mocktarget.apigee.net . Para más información, consulte la especificación de OpenAPI para el ejemplo helloworld .
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success /help: get: summary: Get help operationId: Get help description: View help information about available resources in HTML format. responses: "200": description: Success ...
Mediante el asistente para crear proxy , puede importar una especificación de OpenAPI y usarla para generar un proxy de API. Una vez generado, puede usar la interfaz de usuario de Apigee para seguir desarrollándolo, añadiendo políticas, implementando código personalizado, etc., como cualquier proxy de Apigee.
Creación de un proxy API a partir de una especificación OpenAPI
Crea tus proxies de API a partir de una especificación OpenAPI. Con solo unos clics, tendrás un proxy de API con rutas, parámetros, flujos condicionales y endpoints de destino generados automáticamente. Después, puedes añadir funciones como seguridad OAuth, limitación de velocidad y almacenamiento en caché.
En el asistente para crear proxy , haga clic en "Usar especificación OpenAPI" y siga las instrucciones para crear un proxy inverso o sin destino a partir de una especificación OpenAPI. Para obtener más información, consulte "Crear un proxy de API a partir de una especificación OpenAPI" .
Creación de una nueva revisión de un proxy API
Cree una nueva revisión de un proxy API, como se describe a continuación.
Para crear una nueva revisión de un proxy API, realice los siguientes pasos:
- Inicie sesión en la interfaz de usuario de Apigee .
- En la barra de navegación, seleccione Desarrollar > Proxies de API .
- Haga clic en el proxy API de la lista que desea copiar.
Haga clic en la pestaña Desarrollar .
- Seleccione el botón Guardar y seleccione Guardar como nueva revisión .
Realizar una copia de seguridad de un proxy API
Puede crear una copia de seguridad de un proxy de API existente como un conjunto de archivos XML en un paquete de proxy de API. Una vez exportado a un paquete, puede importar el proxy de API a un nuevo proxy, como se describe en "Importar un proxy de API desde un paquete de proxy de API" en esta misma sección. Para obtener más información, consulte "Descargar proxies de API" .
Creación de un proxy API mediante la API
Para crear un proxy de API utilizando la API, consulte Creación de un proxy de API .
Acerca de los proxies sin objetivo
Los proxies sin destino en Apigee son útiles cuando se desea procesar solicitudes dentro de Apigee sin reenviarlas a un servicio backend. Es importante comprender cuándo es adecuado este enfoque.
Casos de uso comunes
- Interacción con datos gestionados por Apigee : Un proxy sin destino es útil cuando solo se necesita interactuar con datos gestionados por Apigee, como los almacenados en un mapa clave-valor (KVM) o la caché de Apigee . Por ejemplo, se puede usar un proxy sin destino para recuperar datos, como datos de sesión de usuario o datos de configuración, del KVM. En este caso, no es necesario llamar a un servicio de backend. Basta con una política KeyValueMapOperations en el flujo del proxy. Por ejemplo, se podría querer que el emisor solicite el vaciado de la caché. Esto se puede hacer invocando la política InvalidateCache , sin necesidad de conectarse a un destino.
- Uso de API simuladas : Puedes crear API simuladas para simular el comportamiento de la API antes de completar la implementación del backend, lo que permite que el desarrollo del frontend avance de forma independiente. Para obtener más información sobre la creación de API simuladas, consulta OpenAPI Mock API Proxy en Github.
- Gestión de tokens : Apigee puede emitir tokens OAuthV2, y eso generalmente se hace a través de un proxy sin destino.
- Prueba del comportamiento de la política : un proxy sin objetivo puede ser útil cuando desea probar las políticas de Apigee para comprobar su comportamiento.