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

  1. Para comenzar, vaya a Azure Portal e inicie sesión en la cuenta de Azure. En la barra de búsqueda en la parte superior del portal, escriba el nombre de la aplicación de funciones y selecciónela en la lista.

  2. En Configuración en el panel izquierdo, seleccione Configuración.

    Información general sobre las aplicaciones de funciones en Azure Portal

Puede navegar a todo lo que necesita para administrar Function App desde la página de información general, en particular la Configuración de la aplicación y las Características de la plataforma .

Trabajo con la configuración de la aplicación

Puede crear cualquier número de configuraciones de aplicación que requiera el código de la función. Functions también usa configuraciones de aplicación predefinidas. Para obtener más información, vea Referencia de configuración de aplicación para Azure Functions.

Esta configuración se almacena cifrada. Para más información, consulte Seguridad de la configuración de la aplicación.

La configuración de la aplicación se puede administrar no solo tanto desde Azure Portal, como desde la CLI de Azure y Azure PowerShell. También se puede administrar desde Visual Studio Code y desde Visual Studio.

Para buscar la configuración de la aplicación, consulte Introducción a Azure Portal.

La pestaña Configuración de la aplicación mantiene la configuración de la aplicación que la aplicación de funciones usa. Debe seleccionar Mostrar valores para ver los valores en el portal. Para agregar una configuración en el portal, seleccione Nueva configuración de la aplicación y agregue el nuevo par clave-valor.

Configuración de Function App en Azure Portal.

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 temas de referencia específicos del lenguaje:

Al desarrollar una aplicación de funciones localmente, debe mantener copias locales de estos valores en el archivo del proyecto local.settings.json. Para más información, consulte el archivo de configuración local.

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 más información, consulte las 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 Portal Azure CLI/PowerShell
Consumo Consumo Dynamic
Premium ElasticPremium ElasticPremium
Dedicado (App Service) Varios Varios

Para determinar el tipo de plan que usa la aplicación de funciones, consulte Plan de App Service en la pestaña Introducción de la aplicación de funciones en Azure Portal. Para ver el plan de tarifa, seleccione el nombre del Plan de App Service y, a continuación, seleccione Propiedades en el panel izquierdo.

Vista del plan de escalado en el portal

Planear la migración

Puede usar los comandos de la CLI de Azure para migrar una aplicación de funciones de un plan de consumo y un plan Prémium en Windows. Los comandos específicos dependen de la dirección de la migración. Actualmente no se admite la migración directa a un plan dedicado (App Service).

Esta migración no se admite en Linux.

De consumo a Prémium

Use el siguiente procedimiento para migrar de un plan de consumo a un plan Premium en Windows:

  1. Ejecute el siguiente comando para crear un plan de App Service (Prémium elástico) en la misma región y grupo de recursos en que se encuentra la aplicación de funciones existente.

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Ejecute el siguiente comando para migrar la aplicación de funciones existente al nuevo plan Prémium.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Si ya no necesita el plan de consumo de la aplicación de funciones anterior, elimínelo después de confirmar que ha migrado correctamente al nuevo. Ejecute el siguiente comando para obtener una lista de todos los planes de consumo del grupo de recursos.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
    

    Puede eliminar el plan con seguridad sin ningún sitio, que es desde el que migró.

  4. Ejecute el siguiente comando para eliminar el plan de consumo del que ha migrado.

    az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
    

De Prémium a consumo

Use el siguiente procedimiento para migrar de un plan Prémium a un plan de consumo en Windows:

  1. Ejecute el siguiente comando para crear una aplicación de funciones (consumo) en la misma región y grupo de recursos en que se encuentra la aplicación de funciones existente. Este comando también crea un plan de consumo en el que se ejecuta la aplicación de funciones.

    az functionapp create --resource-group <MY_RESOURCE_GROUP> --name <NEW_CONSUMPTION_APP_NAME> --consumption-plan-location <REGION> --runtime dotnet --functions-version 3 --storage-account <STORAGE_NAME>
    
  2. Ejecute el siguiente comando para migrar la aplicación de funciones existente al nuevo plan de consumo.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN>
    
  3. Elimine la aplicación de funciones que creó en el paso 1, ya que solo necesita el plan que se creó para ejecutar la aplicación de funciones existente.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Si ya no necesita el plan Prémium de la aplicación de funciones anterior, elimínelo después de confirmar que ha migrado correctamente al nuevo. Tenga en cuenta que si no se elimina el plan, se le seguirá cobrando por él. Ejecute el siguiente comando para obtener una lista de todos los planes Prémium del grupo de recursos.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
    
  5. Ejecute el siguiente comando para eliminar el plan Prémium del que ha migrado.

    az functionapp plan delete --name <PREMIUM_PLAN> --resource-group <MY_RESOURCE_GROUP>
    

Obtención de las claves de acceso de la función

Por lo general, se puede llamar a las funciones desencadenadas por HTTP mediante una dirección URL con el formato : https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Cuando la autorización para la función se establece en un valor distinto de anonymous, también debe proporcionar una clave de acceso en la solicitud. La clave de acceso se puede proporcionar en la dirección URL mediante la cadena de consulta ?code= o en el encabezado de solicitud. Para obtener más información, vea Claves de acceso de función. Hay varias formas de obtener las claves de acceso.

  1. Inicie sesión en Azure Portal, busque y seleccione Aplicación de funciones.

  2. Seleccione la función que quiera comprobar.

  3. En el panel de navegación izquierdo, en Functions, seleccione Claves de la aplicación.

    Esto devuelve las claves de host, que se pueden usar para acceder a cualquier función de la aplicación. También devuelve la clave del sistema, que proporciona a cualquier usuario acceso de nivel de administrador a todas las API de una aplicación de funciones.

También puede emplear menos privilegios si usa la clave simplemente para la clave de función concreta al seleccionar Claves de función en Desarrollador en la función desencadenada por HTTP.

Características de la plataforma

Las aplicaciones de funciones se ejecutan en la plataforma de Azure App Service, donde también se realiza su mantenimiento. Por tanto, Function App tiene acceso a la mayoría de las características de la plataforma de hospedaje web principal de Azure. En el panel de la izquierda puede acceder a muchas características de la plataforma de App Service que puede usar en las aplicaciones de funciones.

Nota

No todas las características de App Service están disponibles cuando una Function App se ejecuta con el plan de hospedaje de consumo.

El resto de este artículo se centra en las siguientes características de App Service en Azure Portal que resultan útiles para Functions:

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

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. Esto le permite realizar la integración con el repositorio Git, ejecutar y depurar código y modificar la configuración de Function App. 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 el portal. Para más información, consulte Codificación y comprobación de las funciones de Azure Functions en un entorno local.

Consola

Consola de Function App

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)

Configurar 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 examina el punto de conexión de SCM de la Function App, como 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.

Portal

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.

Configuración de la lista de CORS de la aplicación de funciones

Cuando se usa el carácter comodín (*), se omiten todos los demás dominios.

Use el comando az functionapp cors add para agregar un dominio a la lista de orígenes permitidos. En el ejemplo siguiente se agrega el dominio contoso.com:

az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com

Use el comando az functionapp cors show para enumerar los orígenes permitidos actuales.

Autenticación

Configuración de la autenticación de una Function App

Si las funciones usan un desencadenador HTTP, puede requerir que las llamadas se autentiquen primero. App Service admite la autenticación de Azure Active Directory y el inicio de sesión en proveedores locales, como Facebook, Microsoft y Twitter. Para más información sobre cómo configurar los proveedores de autenticación específicos, consulte Autenticación y autorización en Azure App Service.

Pasos siguientes