Administración de la aplicación de funciones
En Azure Functions, una Function App ofrece el contexto de ejecución de funciones individuales. Los comportamientos de Function App se aplican a todas las funciones hospedadas en una Function App determinada. Todas las funciones de una aplicación de funciones deben compartir el mismo lenguaje.
Las funciones individuales de una aplicación de funciones se implementan y escalan juntas. Todas las funciones de la misma aplicación de funciones comparten recursos (por instancia) a medida que se escala la aplicación de funciones.
Las cadenas de conexión, las variables de entorno y otras opciones de configuración de la aplicación se definen por separado para cada aplicación de funciones. Los datos que se deben compartir entre las aplicaciones de funciones deben almacenarse externamente en un almacén persistente.
Introducción a Azure Portal
Nota:
Debido a limitaciones en la edición del código de función en Azure Portal, debe desarrollar las funciones localmente y publicar el proyecto de código en una aplicación de funciones en Azure. Para más información, consulte Limitaciones de desarrollo en Azure Portal.
Para ver la configuración de la aplicación en la aplicación de funciones, siga estos pasos:
Inicie sesión en Azure Portal con su cuenta de Azure. Busque la aplicación de funciones y selecciónela.
En el panel izquierdo de la aplicación de funciones, expanda Configuración, luego seleccione Variables de entorno, y a continuación, seleccione la pestaña Configuración de la aplicación.
Trabajo con la configuración de la aplicación
Además de la configuración de la aplicación predefinida que usa Azure Functions, puede crear cualquier número de configuraciones de aplicación, según sea necesario en el código de función. Para más información, consulte Referencia de configuración de aplicación para Azure Functions.
Esta configuración se almacena cifrada. Para obtener más información, consulte Seguridad de la configuración de la aplicación.
Puede administrar la configuración de las aplicaciones desde el Azure Portal, y usando CLI de Azure y Azure PowerShell. También puede administrar la configuración de la aplicación desde Visual Studio Code y desde Visual Studio.
Para ver la configuración de la aplicación, consulte Introducción en Azure Portal.
La pestaña Configuración de la aplicación mantiene la configuración que usa la aplicación de funciones:
Uso de la configuración de la aplicación
Esta configuración de la aplicación de función también se puede leer en el código como variables de entorno. Para más información, consulte la sección Variables de entorno de estos artículos de referencia específicos de cada lenguaje:
Al desarrollar una aplicación de funciones localmente, debe mantener copias locales de estos valores en el archivo de proyecto de local.settings.json. Para más información, consulte Archivo de configuración local.
Configuración de implementación de FTPS
Azure Functions admite la implementación de código de proyecto en la aplicación de funciones mediante FTPS. Dado que este método de implementación requiere que desencadenadores de sincronización, no se recomienda. Para transferir archivos de proyecto de forma segura, use siempre FTPS y no FTP.
Para obtener las credenciales necesarias para la implementación de FTPS, use uno de estos métodos:
Puede obtener las credenciales de publicación de FTPS en Azure Portal descargando el perfil de publicación de la aplicación de funciones.
Importante
El perfil de publicación contiene credenciales de seguridad importantes. Proteja siempre el archivo descargado en el equipo local.
Para descargar el perfil de publicación de la aplicación de funciones:
En Azure Portal, busque la página de la aplicación de funciones y expanda Configuración>Configuración en la columna izquierda.
En la página Configuración, seleccione la pestaña Configuración general y asegúrese de que las credenciales de publicación de autenticación básica de SCM estén activadas. Cuando esta configuración está Desactivada, no puede usar perfiles de publicación, así que seleccione Activada y, a continuación, Guardar.
Seleccione la página Información general de la aplicación de funciones y, después, seleccione Obtener perfil de publicación.
Guarde y copie el contenido del archivo.
- En el archivo, localice el
publishProfile
elemento con el atributopublishMethod="FTP"
. En este elemento, los atributospublishUrl
,userName
yuserPWD
contienen la dirección URL de destino y las credenciales para la publicación de FTPS.
Tipo de plan de hospedaje
Al crear una aplicación de funciones, también se crea un plan de hospedaje en el que se ejecuta la aplicación. Un plan puede tener una o varias aplicaciones de funciones. La funcionalidad, el escalado y el precio de las funciones dependen del tipo de plan. Para obtener más información, vea Opciones de hospedaje de Azure Functions.
Puede determinar el tipo de plan que usa la aplicación de funciones desde Azure Portal o mediante el uso de las API de la CLI de Azure o Azure PowerShell.
Los valores siguientes indican el tipo de plan:
Tipo de plan | Azure portal | Azure CLI/PowerShell |
---|---|---|
Consumo | Consumo | Dynamic |
Premium | ElasticPremium | ElasticPremium |
Dedicado (App Service) | Varios | Varios |
Para determinar el tipo de plan usado por la aplicación de funciones, consulte Plan de App Service en la página Información general de la aplicación de funciones en Azure Portal.
Para ver el plan de tarifas, seleccione el nombre del Plan de App Service y, a continuación, Propiedades de >Configuración en el panel izquierdo.
Planear la migración
Puede migrar una aplicación de funciones entre un plan de Consumo y un plan Premium en Windows. Al migrar entre planes, tenga en cuenta las consideraciones siguientes:
- No se admite la migración directa a un plan dedicado (App Service).
- La migración no se admite en Linux.
- El plan de origen y el plan de destino deben estar en el mismo grupo de recursos y región geográfica. Para obtener más información, consulte Move an app to another App Service plan (Mover una aplicación a otro plan de App Service).
- Los comandos específicos de la CLI dependen de la dirección de la migración.
- El tiempo de inactividad de las ejecuciones de funciones se producirá cuando la aplicación de funciones se migre entre planes.
- Se mantiene el estado y otro contenido específico de la aplicación, ya que la aplicación usa el mismo recurso compartido de Azure Files antes y después de la migración.
Puede migrar el plan mediante estas herramientas:
Puede usar Azure Portal para cambiar a un plan diferente.
Elija la dirección de la migración para la aplicación en Windows.
Limitaciones de desarrollo en Azure Portal
La siguiente tabla muestra los sistemas operativos y lenguajes que admiten la edición en el portal:
Idioma | Consumo de Windows | Windows Premium | Dedicado de Windows | Consumo de Linux | Linux Premium | Dedicado de Linux |
---|---|---|---|---|---|---|
C# | ||||||
Java | ||||||
JavaScript (Node.js) | ✔ | ✔ | ✔ | ✔ | ✔ | |
Python | ✔ | ✔ | ✔ | |||
PowerShell | ✔ | ✔ | ✔ | |||
TypeScript (Node.js) |
Tenga en cuenta estas limitaciones al desarrollar las funciones en Azure Portal:
- La edición en el portal solo se admite para funciones creadas o modificadas por última vez en Azure Portal.
- La edición en el portal solo se admite para las funciones JavaScript, PowerShell, Python y Script de C#.
- La edición en el portal no se admite en la versión preliminar del Plan de Consumo flexible.
- Al implementar código en una aplicación de funciones desde fuera de Azure Portal, ya no se puede editar el código de esa aplicación de funciones en el portal. En este caso, solo tiene que seguir usando el desarrollo local.
- Para Python, el desarrollo con módulos personalizados no se admite actualmente en el portal. Para agregar módulos personalizados a la aplicación de funciones, debe desarrollar la aplicación localmente.
- En el caso de las funciones de C# compiladas y las funciones de Java, puede crear la aplicación de funciones y los recursos relacionados en el portal. Sin embargo, debes crear el proyecto de código de funciones localmente y, a continuación, publicarlo en Azure.
Cuando sea posible, desarrolle las funciones localmente y publique el proyecto de código en una aplicación de funciones en Azure. Para más información, consulte Codificación y comprobación de las funciones de Azure Functions en un entorno local.
Instalación manual de extensiones
Las funciones de biblioteca de clases de C# pueden incluir los paquetes de NuGet para extensiones de enlace directamente en el proyecto de biblioteca de clases. Para otros lenguajes de non-.NET y script de C#, debe usar agrupaciones de extensiones. Si debes instalar manualmente extensiones, puedes hacerlo mediante Azure Functions Core Tools localmente. Si no puede usar conjuntos de extensiones y solo puede trabajar en el portal, debe usar Herramientas avanzadas (Kudu) para crear manualmente el archivo extensions.csproj directamente en el sitio. Asegúrese de quitar primero el elemento extensionBundle
del archivo host.json.
Este mismo proceso funciona para cualquier otro archivo que necesite agregar a la aplicación.
Importante
Cuando sea posible, no edite los archivos directamente en la aplicación de funciones de Azure. Se recomienda descargar los archivos de la aplicación localmente, usar Core Tools para instalar extensiones y otros paquetes, validar los cambios y volver a publicar la aplicación mediante Core Tools o uno de los otros métodos de implementación admitidos.
El editor de Functions integrado en Azure Portal le permite actualizar el código de función y los archivos de configuración directamente en el portal:
Seleccione la aplicación de funciones y a continuación, en Functions, seleccione Funciones.
Elija la función y seleccione Código y prueba en Desarrollador.
Elija el archivo para editar y seleccione Guardar cuando termine.
Los archivos de la raíz de la aplicación, como function.proj o extensions.csproj, deben crearse y editarse mediante Herramientas avanzadas (Kudu).:
Seleccione la aplicación de funciones, expanda Herramientas de desarrollo, y a continuación, seleccioneHerramientas avanzadas >Ir.
Si se le solicita, inicie sesión en el sitio del Administrador de control de código fuente (SCM) con sus credenciales de Azure.
En el menú Consola de depuración, elija CMD.
Vaya a
.\site\wwwroot
, seleccione el botón más (+) en la parte superior y seleccione Nuevo archivo.Asigne un nombre al archivo, como
extensions.csproj
, y presione Entrar.Seleccione el botón Editar situado junto al nuevo archivo, agregue o actualice código en el archivo y a continuación, seleccione Guardar.
Para un archivo de proyecto como extensions.csproj, ejecute el siguiente comando para recompilar el proyecto de extensiones:
dotnet build extensions.csproj
Características de la plataforma
Las aplicaciones de funciones se ejecutan en la plataforma de Azure App Service, que las mantiene. Por tanto, Function App tiene acceso a la mayoría de las características de la plataforma de hospedaje web principal de Azure. Al usar el Azure Portal, el panel izquierdo es donde tiene acceso a las muchas características de la plataforma de App Service que puede usar en las aplicaciones de funciones.
La siguiente matriz indica la compatibilidad de características de Azure Portal mediante el plan de hospedaje y el sistema operativo:
Característica | Plan de consumo | Plan de Consumo flexible | Plan Premium | Plan dedicado |
---|---|---|---|---|
Herramientas avanzadas (Kudu) | Windows: ✔ Linux: X |
X | ✔ | ✔ |
Editor de App Service | Windows: ✔ Linux: X |
X | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Copias de seguridad | X | X | X | ✔ |
Consola | Windows: línea de comandos Linux: X |
X | Windows: línea de comandos Linux: SSH |
Windows: línea de comandos Linux: SSH |
El resto de este artículo se centra en las siguientes características del portal que resultan útiles para las aplicaciones de funciones:
- Editor de App Service
- Console
- Herramientas avanzadas (Kudu)
- Opciones de implementación
- CORS
- Autenticación
Para más información sobre cómo trabajar con la configuración de App Service, vea Configuración de Azure App Service.
Editor de App Service
El Editor de App Service es un editor en portal avanzado que puede usar para modificar archivos de configuración JSON y archivos de código similares. Al seleccionar esta opción se inicia una pestaña de explorador independiente con un editor básico. Este editor le permite integrar con el repositorio de Git, ejecutar y depurar código y modificar la configuración de la aplicación de funciones. Este editor proporciona un entorno de desarrollo mejorado para las funciones en comparación con el editor de funciones integrado.
Se recomienda que considere la posibilidad de desarrollar las funciones en el equipo local. Al desarrollar localmente y publicar en Azure, los archivos del proyecto son de solo lectura en Azure Portal. Para más información, consulte Codificación y comprobación de las funciones de Azure Functions en un entorno local.
Consola
La consola del portal es una herramienta ideal para desarrolladores si prefiere interactuar con Function App desde la línea de comandos. Los comandos comunes incluyen creación de archivos y directorios y navegación por los mismos, así como la ejecución de archivos y scripts por lotes.
Al desarrollar localmente, se recomienda usar Azure Functions Core Tools y la CLI de Azure.
Herramientas avanzadas (Kudu)
Las herramientas avanzadas para App Service (también conocidas como Kudu) proporcionan acceso a las características administrativas avanzadas de la Function App. Con Kudu, puede administrar la información del sistema, la configuración de las aplicaciones, las variables del entorno, las extensiones del sitio, los encabezados HTTP y las variables del servidor. También puede iniciar Kudu si navega al punto de conexión de SCM de la aplicación de funciones, por ejemplo: https://<myfunctionapp>.scm.azurewebsites.net/
.
Centro de implementación
Cuando se usa una solución de control de código fuente para desarrollar y mantener el código de las funciones, el Centro de implementación le permite compilar e implementar desde el control de código fuente. El proyecto se compila e implementa en Azure cuando se realizan actualizaciones. Para más información, vea Tecnologías de implementación en Azure Functions.
Uso compartido de recursos entre orígenes
Para evitar la ejecución de código malintencionado en el cliente, los exploradores modernos bloquean las solicitudes de las aplicaciones web en los recursos que se ejecutan en un dominio independiente. El Intercambio de Recursos de Origen Cruzado (CORS) permite a un encabezado Access-Control-Allow-Origin
declarar qué orígenes pueden llamar a los puntos de conexión en la aplicación de funciones.
Al configurar la lista de orígenes permitidos para la aplicación de funciones, el encabezado Access-Control-Allow-Origin
se agrega automáticamente a todas las respuestas de los puntos de conexión HTTP en la aplicación de funciones.
Si hay otra entrada de dominio, se omite el carácter comodín (*).
Autenticación
Si las funciones usan un desencadenador HTTP, puede requerir que las llamadas se autentiquen primero. App Service admite la autenticación e inicio de sesión de Microsoft Entra con proveedores sociales, como Facebook, Microsoft y X. Para obtener información acerca de cómo configurar proveedores de autenticación específicos, consulte Introducción a la autenticación de Azure App Service.