Compatibilidad de API en Azure Static Web Apps con Azure Functions
Azure Static Web Apps proporciona puntos de conexión de API sin servidor a través de Azure Functions. Mediante Azure Functions, las API se escalan dinámicamente según la demanda e incluyen las características siguientes:
Seguridad integrada con acceso directo a los datos de autenticación y autorización basada en roles del usuario.
Enrutamiento de conexión directa que hace que la ruta de api esté disponible para la aplicación web de forma segura sin necesidad de reglas de CORS personalizadas.
Las API de Azure Static Web Apps se admiten en dos configuraciones posibles en función del plan de hospedaje:
Funciones administradas: de forma predeterminada, la API de una aplicación web estática es una aplicación de Azure Functions administrada e implementada por Azure Static Web Apps y asociada a algunas restricciones.
Traiga sus propias funciones: opcionalmente, puede proporcionar una aplicación de Azure Functions existente de cualquier tipo de plan que vaya acompañada de todas las características de Azure Functions. Con esta configuración, es responsable de controlar una implementación independiente para la aplicación de Functions.
En la tabla siguiente se comparan las diferencias entre el uso de funciones administradas y existentes.
| Característica | Funciones administradas | Traiga sus propias funciones |
|---|---|---|
| Acceso a los desencadenadores de Azure Functions | Solo HTTP | Todo |
| Entornos de ejecución de Azure Functions admitidos | Node.js 12 .NET Core 3.1 .NET 6.0 Python 3.8 |
Todo |
| Planes de hospedaje de Azure Functions admitidos | Consumo | Consumo Premium Dedicado |
| Seguridad integrada con acceso directo a los datos de autenticación y autorización basada en roles del usuario | ✔ | ✔ |
| Integración del enrutamiento que hace que la ruta de api esté disponible para la aplicación web de forma segura sin necesidad de reglas de CORS personalizadas. | ✔ | ✔ |
| Modelo de programación de Durable Functions | ✕ | ✔ |
| Identidad administrada | ✕ | ✔ |
| Administración de tokens de autenticación y autorización de Azure App Service | ✕ | ✔ |
| Funciones de API disponibles fuera de Azure Static Web Apps | ✕ | ✔ |
| Referencias de Key Vault | ✕ | ✔ |
Configuración
Los puntos de conexión de API están a disposición de la aplicación web a través de la ruta de api.
| Funciones administradas | Traiga sus propias funciones |
|---|---|
| Aunque la ruta de api es fija, tiene control sobre la ubicación de la carpeta de código fuente de la aplicación de funciones administrada. Para cambiar esta ubicación, edite el archivo YAML del flujo de trabajo, que se encuentra en la carpeta .github/workflows de su repositorio. | Las solicitudes a la ruta de api se envían a la aplicación de Azure Functions existente. |
Solución de problemas y registros
Los registros solo están disponibles si agrega Application Insights.
| Funciones administradas | Traiga sus propias funciones |
|---|---|
| Para activar el registro, habilite Application Insights en la aplicación web estática. | Para activar el registro, habilite Application Insights en la aplicación de Azure Functions. |
Restricciones
- El prefijo de la ruta de la API debe ser api.
- Las reglas de enrutamiento para las funciones de API solo admiten redirigir y proteger las rutas con roles.
| Funciones administradas | Traiga sus propias funciones |
|---|---|
|
|