Las funciones activadas por eventos ejecutan su código en respuesta a eventos provenientes de desencadenadores como los de Function Compute, Object Storage Service (OSS) y ApsaraMQ for RocketMQ. Cada función se ejecuta de forma aislada, por lo que la ejecución de una no afecta a las demás. Este tema explica cómo crear, editar y eliminar una función activada por eventos, así como obtener su Aliyun Resource Name (ARN) mediante la consola de Function Compute.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una cuenta de Alibaba Cloud con acceso a Function Compute console
Permisos suficientes para crear funciones en la región de destino
Crear una función
Los siguientes pasos describen cómo crear una función activada por eventos mediante un entorno de ejecución integrado y código de ejemplo. Después de crearla, reemplace el código de ejemplo con su propia lógica.
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. En la página Function, haga clic en Create Function.
En el cuadro de diálogo, seleccione Event Function como tipo de función y luego haga clic en Create.
-
En la página Create Function, configure los siguientes parámetros y haga clic en Create.
-
Basic configurations: Establezca las especificaciones de la función.
Parámetro
Descripción
Ejemplo
Function name
Identificador único de la función dentro de la misma cuenta y región. Debe cumplir con las convenciones de nomenclatura.
myFunctionvCPU
Número de núcleos de CPU virtual asignados a la función. La proporción entre vCPU y memoria debe estar entre 1:1 y 1:4.
0.35 vCPUMemory
Memoria asignada a la función.
512 MBDisk
Espacio de disco temporal para la instancia de la función. Todos los directorios tienen permisos de escritura y el espacio se comparte. Los datos se pierden cuando se libera la instancia; para conservar archivos, monte un sistema de archivos NAS o un bucket de OSS. Function Compute ofrece un nivel gratuito de 10 GB de espacio en disco.
10 GBLa facturación de cada invocación se calcula al multiplicar las especificaciones de recursos por la duración de uso. Para más detalles, consulte Billing overview .
-
Auto scaling: Seleccione un modo de elasticidad.
Parámetro
Descripción
Ejemplo
Minimum instances
Número mínimo de instancias que se mantienen en ejecución. Establezca este valor en
1o superior 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 vigente, el mínimo efectivo será 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 el origen del código.
Parámetro
Descripción
Ejemplo
Runtime
Lenguaje y versión para ejecutar el código de la función. Seleccione Built-in Runtimes y elija un lenguaje como Python, Java, PHP o Node.js. Para crear una función web, seleccione Custom Runtime. Para crear una función acelerada por GPU, seleccione Custom Container. Para ver los entornos de ejecución disponibles, consulte Function Compute runtimes.
Built-in Runtimes
Code upload method
Método para proporcionar el código de la función. Opciones: Use Sample Code (código inicial Hello World, editable después en la consola), Upload ZIP (paquete ZIP, o paquete JAR solo para el entorno de ejecución Java), Upload Folder u OSS (especifique un bucket y un objeto).
Use Sample Code
Handler
Punto de entrada que Function Compute invoca para procesar solicitudes. Si usa Use Sample Code, conserve el valor predeterminado. Si carga su propio código, actualice este campo para que coincida con su función controladora. Un controlador incorrecto provoca errores de ejecución.
index.handlerExecution timeout period
Tiempo máximo que puede durar una sola invocación. El valor predeterminado es 60 segundos y el 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 interfaz de red (NIC) predeterminada.
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 usa 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 de negocio y otros datos. Para más detalles, consulte Configure Object Storage Service (OSS).
Enabled
ImportanteSi utiliza 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
Almacene los registros de ejecución de la función en Simple Log Service para depuración, análisis de fallos y análisis de datos. La Automatic Configuration usa o crea un proyecto de registros llamado
serverless-<region_id>(uno por región). La Custom Configuration 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 modificar su comportamiento sin cambiar 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 la 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 asociados (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 permite hacer referencia a funciones desde 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 de destino.
En la página Function Details, haga clic en Copy ARN a la derecha.
Pasos siguientes
Function Compute admite cuatro tipos de funciones para distintos escenarios: funciones activadas por eventos, funciones web, funciones de tareas y funciones aceleradas por GPU. Para elegir el tipo adecuado, consulte Technology selection guide.
Para gestionar funciones mediante la API o la CLI, consulte CreateFunction API reference y Get started with Serverless Devs.
Si una función supera el tiempo de espera y muestra el error "Function time out after", consulte Troubleshoot function timeout errors.
Las funciones que se invocan con poca frecuencia pueden tener tiempos de respuesta más largos debido a arranques en frío. Para eliminar la latencia de arranque en frío, establezca Minimum instances en
1o superior. Para más contexto, consulte Why infrequently used functions take longer to invoke.