Para ejecutar aplicaciones desarrolladas con frameworks populares como Flask, Express o Spring Boot, o para migrar aplicaciones basadas en frameworks existentes a Function Compute, puede crear una función web. En Function Compute, los recursos se programan y ejecutan por función. Cada función es independiente y está aislada. Este tema explica cómo crear y gestionar funciones web en la consola de Function Compute.
Crear una función
Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, seleccione .
En la barra de menú superior, seleccione una región. En la página Functions, haga clic en Create Function.
En el cuadro de diálogo que aparece, seleccione Web Function y luego haga clic en Create Web Function.
-
En la página Create Web Function, configure los siguientes parámetros y haga clic en Create.
-
Basic Configurations: Establezca las especificaciones de la función y la configuración de la instancia.
Parámetro
Descripción
Ejemplo
Function Name
Identificador único de la función. El nombre debe ser único dentro de una región para su cuenta de Alibaba Cloud y cumplir con las convenciones de nomenclatura.
myFunction
Specifications
Establezca las especificaciones de vCPU, Memory y Disk para la función según su carga de trabajo. Se le factura el uso de recursos según estas especificaciones y la duración de la ejecución. Para obtener más información, consulte Billing overview.
Nota-
La proporción entre el tamaño de vCPU (en núcleos) y el tamaño de memoria (en GB) debe estar entre 1:1 y 1:4.
-
Todos los directorios del disco tienen permisos de escritura y el espacio en disco se comparte entre todas las instancias de la función.
-
Los datos en el disco son efímeros y se pierden cuando se recupera la instancia. Para conservar archivos de forma persistente, monte un sistema de archivos NAS o un bucket de OSS. Para obtener más información, consulte Configure a NAS file system y Configure OSS.
-
vCPU: 0.35 vCPU
-
Memoria: 512 MB
-
Disco: 512 MB (No se factura. Function Compute proporciona una cuota gratuita de 10 GB de espacio en disco).
Instance Concurrency
Establezca el número de solicitudes simultáneas que puede procesar una sola instancia de función. Para obtener más información, consulte Configure concurrency per instance.
20
-
-
Scaling Policy: Seleccione un modo de elasticidad.
Parámetro
Descripción
Ejemplo
Minimum instances
Número mínimo de instancias que se mantienen en ejecución. Establézcalo en
1o más para precalentar instancias y reducir la latencia de arranque en frío en cargas de trabajo sensibles a la latencia. Si no hay ninguna directiva de elasticidad configurada o ninguna directiva válida vigente, el mínimo efectivo es el valor que establezca aquí. Si hay varias directivas de elasticidad activas, Function Compute utiliza el valor más alto entre ellas como mínimo efectivo. Para más detalles, consulte Instance scaling rules.1 -
Code: Configure el entorno de ejecución y la configuración del código de la función.
Parámetro
Descripción
Ejemplo
Runtime
Se recomienda seleccionar Custom Runtime y elegir un lenguaje de programación o framework con el que esté familiarizado. Para obtener más información, consulte Code development overview.
-
Para crear una Event Function, seleccione Built-in Runtimes. Para obtener más información, consulte Create an event function.
-
Para crear una GPU Function, seleccione Custom Container. Para obtener más información, consulte Create a GPU-accelerated function.
Code Upload Method
Seleccione un método para cargar su código.
-
Use Sample Code: Opción predeterminada. Puede seleccionar código de ejemplo proporcionado por Function Compute según sus requisitos empresariales.
-
Upload ZIP: Seleccione y cargue un paquete ZIP que contenga el código de su función.
-
Upload Folder: Seleccione y cargue una carpeta que contenga el código de su función.
-
OSS: Especifique el Bucket Name y el Object Name del paquete de código de la función en OSS.
Use Sample Code
Startup Command
Comando de inicio de la aplicación. Si no especifica un comando de inicio, debe crear manualmente un script de inicio llamado bootstrap en el directorio raíz de su código. La aplicación se inicia mediante este script.
npm run start
Listening Port
Puerto en el que escucha el servidor HTTP de su código.
9000
Execution Timeout Period
Periodo de tiempo de espera para la ejecución de la función. El valor predeterminado de Execution Timeout Period es 60 segundos, y el valor máximo es 86,400 segundos.
60
-
-
Permissions, network, and storage: Configure el rol de acceso, la red y los montajes de almacenamiento de la función.
Parámetro
Descripción
Ejemplo
Function role
Rol de RAM que Function Compute utiliza para generar credenciales temporales y acceder a otros servicios de Alibaba Cloud. Para detalles de configuración, consulte Grant Function Compute permissions to access other Alibaba Cloud services.
mytestroleAccess to VPC
Habilite esta opción para permitir que la función acceda a recursos dentro de una virtual private cloud (VPC). Para detalles de configuración, consulte Configure a network.
Enabled
VPC
Obligatorio cuando Access to VPC está habilitado. Seleccione una VPC existente o cree una nueva.
fc.auto.create.vpc.1632317****vSwitch
Obligatorio cuando Access to VPC está habilitado. Seleccione un vSwitch existente o cree uno nuevo.
fc.auto.create.vswitch.vpc-bp1p8248****Security group
Obligatorio cuando Access to VPC está habilitado. Seleccione un security group existente o cree uno nuevo.
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****Allow default NIC to access internet
Controla si la función puede acceder a Internet a través de su controlador de interfaz de red (NIC) predeterminado.
Enabled
Mount a NAS file system
Monte un sistema de archivos NAS para compartir datos de forma persistente entre funciones, como archivos de modelo utilizados por varias funciones de inference. Con la configuración automática, el sistema utiliza o crea un sistema de archivos NAS de propósito general llamado
Alibaba-Fc-V3-Component-Generated. Para más detalles, consulte Configure a NAS file system.Enabled
Mount OSS
Monte un bucket de OSS para almacenar de forma persistente registros, archivos empresariales y otros datos. Para más detalles, consulte Configure Object Storage Service (OSS).
Enabled
ImportanteCuando utilice una dirección IP pública estática, deshabilite Allow default NIC to access internet. De lo contrario, la dirección IP pública estática no surtirá efecto. Para más detalles, consulte Configure a static public IP address.
-
Log monitoring and tracing
Parámetro
Descripción
Ejemplo
Log monitoring
Guarde los registros de ejecución de funciones en Simple Log Service para depuración, análisis de fallos y análisis de datos. La Configuración automática utiliza o crea un proyecto de registros llamado
serverless-<region_id>(uno por región). La Configuración personalizada le permite especificar el Log Service Project y el Logstore. Para más detalles, consulte Configure the logging feature.Enabled
-
More configurations
Parámetro
Descripción
Ejemplo
Time zone
Zona horaria de la función. Al configurar esto, se añade una variable de entorno
TZcon el valor seleccionado.UTCTag
Etiquetas para agrupar y gestionar funciones. Cada etiqueta requiere una clave y un valor. Para más detalles, consulte Function tags.
key : valueResource group
Resource group al que pertenece la función. Para más detalles, consulte Resource groups.
Default Resource Group
Environment variables
Pares clave-valor inyectados en el entorno de ejecución de la función, que permiten cambiar el comportamiento de la función sin modificar el código. Para más detalles, consulte Configure environment variables.
{"BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE"}
-
Editar una función
En la página Function Details, utilice la pestaña Code para modificar el código de su función directamente en la consola. También puede exportar el código como copia de seguridad o cargar código nuevo.
Si el panel izquierdo muestra cambios sin confirmar, haga clic en Deploy antes de hacer clic en Test Function para aplicar los cambios.
Para exportar o cargar código:
En la página Function Details, haga clic en la pestaña Code. Luego, haga clic en Export Function en la esquina superior derecha y seleccione Export Function Code en el menú desplegable.
En la página Function Details, haga clic en la pestaña Code. Luego, haga clic en Upload Code en la esquina superior derecha y seleccione un método de carga en el menú desplegable: Upload ZIP, Upload Folder u OSS.
Para otros cambios de configuración, como especificaciones de instancia y escalado, consulte Function instance specifications and elastic configurations.
Eliminar una función
Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, seleccione Function Management > Function.
Localice la función y haga clic en Delete Function en la columna Actions.
En el cuadro de diálogo de confirmación, compruebe que la función no tenga recursos adjuntos (como desencadenadores o directivas de elasticidad de instancias mínimas) y confirme la eliminación.
Obtener el ARN de una función
Un Aliyun Resource Name (ARN) identifica de forma única un recurso de Alibaba Cloud y le permite hacer referencia a funciones desde el código u otros servicios.
Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, seleccione Function Management > Function.
En la barra de menú superior, seleccione una región. Haga clic en la función deseada.
En la página Function Details, haga clic en Copy ARN a la derecha.
Temas relacionados
Function Compute ofrece cuatro tipos de funciones para diferentes casos de uso: funciones de evento, funciones web, funciones de tarea y funciones aceleradas por GPU. Para obtener orientación sobre cómo elegir un tipo de función, consulte Technical selection guide.
Además de la consola, también puede gestionar funciones en Function Compute mediante API o la herramienta Serverless Devs. Para obtener más información, consulte CreateFunction y Serverless Devs quick start.
Si se agota el tiempo de espera de la ejecución de una función, consulte What do I do if a "Function time out after..." error is reported?.
Las funciones que se invocan con poca frecuencia pueden tener tiempos de invocación más largos. Para más detalles, consulte Why do infrequently used functions have longer invocation times?. Para eliminar el impacto de la latencia de arranque en frío en instancias elásticas, establezca el número mínimo de instancias en 1 o más.