API REST sin servidor mediante Azure Functions

Azure Functions es un servicio de proceso esencial que se usa para crear API basadas en REST sin servidor. Los desencadenadores HTTP exponen puntos de conexión REST a los que pueden llamar los clientes, como exploradores, aplicaciones móviles y otros servicios back-end. Con la compatibilidad nativa con las rutas, una única función desencadenada por HTTP puede exponer una API REST altamente funcional. Functions también proporciona su propio esquema de autorización básico basado en claves para ayudar a limitar el acceso solo a clientes específicos. Para más información, consulte Desencadenadores HTTP de Azure Functions.

En algunos escenarios, es posible que necesite la API para admitir un conjunto más complejo de comportamientos REST. Por ejemplo, puede que tenga que combinar varios puntos de conexión de función HTTP en una sola API. También puede pasar solicitudes a uno o varios servicios basados en REST de back-end. Por último, las API pueden requerir un mayor grado de seguridad que le permita monetizar su uso.

En la actualidad, el enfoque recomendado para crear API más complejas y sólidas basadas en las funciones es usar los servicios de API completos proporcionados por Azure API Management. API Management usa un modelo basado en directivas para permitirle controlar el enrutamiento, la seguridad y la integración de OpenAPI. También admite directivas avanzadas, como la monetización de limitación de velocidad. Las versiones anteriores del entorno de ejecución de Functions usaron la característica proxy de Functions heredada.

Importante

Azure Functions Proxies es una característica heredada en las versiones 1.x a 3.x del entorno de ejecución de Azure Functions. La compatibilidad con los proxy se puede volver a habilitar en la versión 4.x para que pueda actualizar correctamente las aplicaciones de funciones a la versión más reciente del entorno de ejecución. Debe cambiar a la integración de las aplicaciones de funciones con Azure API Management tan pronto como sea posible. API Management le permite aprovechar un conjunto más completo de características para definir, proteger, administrar y monetizar las API basadas en Functions. Para más información, consulte Integración de API Management.

Para obtener información sobre cómo volver a habilitar la compatibilidad con servidores proxy en la versión 4.x de Functions, consulte Volver a habilitar servidores proxy en Functions v4.x.

Traslado de servidores proxy de Functions a API Management

Al pasar de servidores proxy de Functions al uso de API Management, debe integrar la aplicación de funciones con una instancia de API Management y, a continuación, configurar la instancia de API Management para que se comporte como el proxy anterior. En la siguiente sección se proporcionan vínculos a los artículos pertinentes que le ayudarán a usar API Management con Azure Functions.

Si tiene desafíos al pasar de servidores proxy o si Azure API Management no aborda sus escenarios específicos, publique una solicitud en el foro de comentarios de API Management.

Integración con API Management

API Management permite importar una aplicación de funciones existente. Después de la importación, cada punto de conexión de función desencadenado por HTTP se convierte en una API que puede modificar y administrar. Después de la importación, también puede usar API Management para generar un archivo de definición de OpenAPI para las API. Durante la importación, se omiten los puntos de conexión con un adminnivel de autorización . Para más información sobre API Management con Functions, consulte los siguientes artículos:

Artículo Descripción
Exposición de API sin servidor desde puntos de conexión HTTP mediante Azure API Management Muestra cómo crear una nueva instancia de API Management a partir de una aplicación de funciones existente en el Azure Portal. Admite todos los lenguajes.
Creación de API sin servidor en Visual Studio usando Azure Functions y la integración de API Management Muestra cómo usar Visual Studio para crear un proyecto de C# que use la extensión OpenAPI. La extensión OpenAPI le permite definir las API de .NET aplicando atributos directamente al código de C#.
Inicio rápido: Creación de una nueva instancia de servicio de Azure API Management mediante Azure Portal Creación de una nueva instancia API Management en el portal. Después de crear una instancia de API Management, puede conectarla a la aplicación de funciones. Se admiten otros métodos de creación que no son del portal.
Importación de una instancia de Azure Function App como API en Azure API Management Muestra cómo importar una aplicación de función existente para exponer los puntos de conexión de desencadenadores HTTP existentes como UNA API administrada. En este artículo se admite la creación de una nueva API y la adición de los puntos de conexión a una API administrada existente.

Una vez que haya expuesto los puntos de conexión de la aplicación de funciones mediante API Management, en los artículos siguientes se proporciona información general sobre cómo administrar las API basadas en Functions en la instancia de API Management.

Artículo Descripción
Edición de una API Muestra cómo trabajar con una API existente hospedada en API Management.
Directivas de Azure API Management En API Management, los publicadores pueden cambiar el comportamiento de la API a través de la configuración mediante directivas. Las directivas son una colección de declaraciones que se ejecutan secuencialmente en la solicitud o respuesta de una API.
Referencia de la directiva de API Management Referencia que detalla todas las directivas de API Management admitidas.
Ejemplos de directivas de API Management Colección útil de ejemplos que usan directivas de API Management en escenarios clave.

Proxies de Functions heredadas

La característica proxy de Functions heredada también proporciona un conjunto de funcionalidades básicas de API para la versión 3.x y la versión anterior del runtime de Functions.

Importante

Azure Functions Proxies es una característica heredada en las versiones 1.x a 3.x del entorno de ejecución de Azure Functions. La compatibilidad con los proxy se puede volver a habilitar en la versión 4.x para que pueda actualizar correctamente las aplicaciones de funciones a la versión más reciente del entorno de ejecución. Debe cambiar a la integración de las aplicaciones de funciones con Azure API Management tan pronto como sea posible. API Management le permite aprovechar un conjunto más completo de características para definir, proteger, administrar y monetizar las API basadas en Functions. Para más información, consulte Integración de API Management.

Para obtener información sobre cómo volver a habilitar la compatibilidad con servidores proxy en la versión 4.x de Functions, consulte Volver a habilitar servidores proxy en Functions v4.x.

Algunas sugerencias básicas sobre cómo realizar tareas equivalentes mediante API Management se han agregado al artículo Servidores proxy de Functions. Actualmente no tenemos documentación ni herramientas para ayudarle a migrar una implementación existente de Servidores proxy de Functions a API Management.

Pasos siguientes