Function Compute proporciona runtimes integrados para lenguajes de programación populares como Node.js, Python, PHP, Java, C# y Go. Esto le permite concentrarse en programar la lógica de negocio sin preocuparse por configuraciones adicionales. Sin embargo, en ciertos escenarios es necesario usar lenguajes menos comunes o versiones específicas para cumplir con requerimientos particulares. En estos casos, cree un runtime personalizado para establecer un entorno a su medida. Por ejemplo, puede utilizar lenguajes como Rust o especificar una versión concreta, como Node.js 16, dentro de su runtime personalizado.
Se recomienda usar funciones web con un runtime personalizado. Esta combinación le permite configurar rápidamente diversos frameworks populares de aplicaciones web, lo que facilita compilar y desplegar aplicaciones y servicios basados en HTTP. Es posible personalizar el comando de inicio y el puerto de escucha del runtime personalizado; además, se admite la concurrencia a nivel de instancia.
Entornos de contenedor
A continuación se muestran los entornos de contenedor compatibles con los runtimes personalizados.
|
Runtime |
Identificador |
Sistema operativo |
Arquitectura |
|
Custom runtime (Debian 12) (in public preview) |
custom.debian12 |
Debian 12 |
x86_64 |
|
Custom runtime (Debian 11) |
custom.debian11 |
Debian 11 |
x86_64 |
|
Custom runtime (Debian 10) |
custom.debian10 |
Debian 10 |
x86_64 |
|
Custom runtime (Debian 9) |
custom |
Debian 9 |
x86_64 |
Custom runtime (Debian 12) es compatible con las siguientes regiones: China (Hangzhou), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot) y China (Chengdu).
Funciones creadas después de las 00:00:00 del 1 de diciembre de 2021
Permisos de usuario: las funciones deben ejecutarse con usuarios root.
Permisos de directorio: los datos se pueden escribir en cualquier directorio.
Ubicación del código en el contenedor: /code.
Funciones creadas antes de las 00:00:00 del 1 de diciembre de 2021
Permisos de usuario: las funciones deben ejecutarse con usuarios que no sean root.
Permisos de directorio: los datos solo se pueden escribir en el directorio /tmp.
Ubicación del código en el contenedor: /code.
Información del entorno
Dependencias integradas
Las dependencias integradas de un runtime personalizado son las mismas que las de un runtime integrado. Para obtener más información, consulte los siguientes temas:
Cuando crea una función web con un runtime personalizado, el sistema configura automáticamente la capa pública correspondiente al lenguaje de programación utilizado. Por ejemplo, al crear una función web en Python se configura de forma automática una capa de Flask.
Custom runtime (Debian 12)
La siguiente tabla muestra el lenguaje de programación integrado de Custom runtime (Debian 12). Puede escribir el código de su función directamente en este lenguaje sin instalar intérpretes de terceros ni configurar capas.
En algunos lenguajes de programación es necesario configurar variables de entorno. Consulte la siguiente tabla para conocer los detalles.
|
Lenguaje de programación |
Directorio de instalación |
Versión |
Variable de entorno |
|
Python 3.11 |
/usr/bin/python3 |
3.11.2 |
No extra settings required |
Custom runtime (Debian 11)
La siguiente tabla muestra el lenguaje de programación integrado de Custom runtime (Debian 11). Puede escribir el código de su función directamente en este lenguaje sin instalar intérpretes de terceros ni configurar capas.
En algunos lenguajes de programación es necesario configurar variables de entorno. Consulte la siguiente tabla para conocer los detalles.
|
Lenguaje de programación |
Directorio de instalación |
Versión |
Variable de entorno |
|
Python 3.12 |
/var/fc/lang/python3.12 |
3.12.4 |
PATH=/var/fc/lang/python3.12/bin:$PATH |
Custom runtime (Debian 10)
A continuación se muestran los lenguajes de programación integrados de Custom runtime (Debian 10). Puede escribir el código de su función directamente en estos lenguajes sin instalar intérpretes de terceros ni configurar capas.
En algunos lenguajes de programación es necesario configurar variables de entorno. Consulte la siguiente tabla para conocer los detalles.
|
Lenguaje de programación |
Directorio de instalación |
Versión |
Variable de entorno |
|
Node.js 20 |
/var/fc/lang/nodejs20 |
v20.10.0 |
PATH=/var/fc/lang/nodejs20/bin:$PATH |
|
Node.js 18 |
/var/fc/lang/nodejs18 |
v18.19.0 |
PATH=/var/fc/lang/nodejs18/bin:$PATH |
|
Python 3.10 |
/var/fc/lang/python3.10 |
3.10.9 |
PATH=/var/fc/lang/python3.10/bin:$PATH |
|
Python 2.7 |
Default installation directory |
2.7.16 |
N/A |
Custom runtime (Debian 9)
A continuación se listan los lenguajes de programación integrados de Custom runtime (Debian 9). Puede escribir el código de su función directamente en estos lenguajes sin instalar intérpretes de terceros ni configurar capas.
Python 3.7.4 (versión predeterminada de Python)
Node.js 10.16.2
OpenJDK 1.8.0
Ruby 2.7
Nginx 1.10.3
-
PHP 7.4.12
Uso de un lenguaje de programación no integrado
Se recomienda usar una capa pública si desea escribir el código de la función en un lenguaje de programación no integrado. Para obtener más información, consulte Add a public layer in the console.
Si desea crear un runtime personalizado con un lenguaje de programación no integrado, empaquete el intérprete o runtime de ese lenguaje junto con su archivo de código y despliegue el paquete en Function Compute. Por ejemplo, para crear un runtime de Node.js 16, descargue el intérprete necesario, empáquelo con su código y luego despliegue el paquete en Function Compute. Siga estos pasos:
-
Descargue
Node.jsde una versión de Linux de 64 bits en el directorio del paquete de código.wget http://mirrors.nju.edu.cn/nodejs/v16.14.2/node-v16.14.2-linux-x64.tar.gz -O node-v16.14.2-linux-x64.tar.gz && tar -zxvf node-v16.14.2-linux-x64.tar.gz && rm -rf node-v16.14.2-linux-x64.tar.gz -
Configure el comando de inicio de
Node.jsen el runtime personalizado.customRuntimeConfig: command: - /code/node-v16.14.2-linux-x64/bin/node args: - 'server.js' # You can also configure the following environment variable for your function: PATH=/code/node-v16.14.2-linux-x64/bin:/usr/local/bin/apache-maven/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin. # After the configuration is complete, you can use Node.js to start the HTTP server.
Instalación de dependencias
Para obtener más información sobre cómo instalar las dependencias de cada lenguaje de programación en un runtime personalizado, consulte los siguientes temas:
También puede usar las capas de Function Compute para instalar dependencias. Se recomienda usar una capa pública o construir una capa de dependencias en línea. Para obtener más información, consulte los siguientes temas: