¿Cómo creo las dependencias de función?
Se recomienda crear las dependencias de función en EulerOS. Si se utilizan otros sistemas operativos, puede producirse un error debido a las bibliotecas dependientes subyacentes. Por ejemplo, no se puede encontrar la biblioteca de enlaces dinámicos.
Si los módulos que se van a instalar necesitan las dependencias como .dll, .so y .a, guárdelos en un paquete .zip.
Configuración del entorno de EulerOS
EulerOS es un sistema operativo de Linux de código abierto para empresas. Cuenta con alta seguridad, escalabilidad y rendimiento, cumpliendo con los requisitos de los clientes para infraestructura de TI y servicios de cómputo en la nube. Se recomienda Huawei Cloud EulerOS.
- Compre un ECS de EulerOS en Huawei Cloud haciendo referencia a Comprar e iniciar sesión en un ECS de Linux. En la página Configure Basic Settings, seleccione Public Image y seleccione Huawei Cloud EulerOS y una versión de imagen.
- Descargue la imagen de EulerOS y utilice el software de virtualización para configurar la VM de EulerOS en un PC local.
Creación de una dependencia para una función de Python
Asegúrese de que la versión de Python del entorno de empaquetado es la misma que la de la función. Para Python 2.7, se recomienda Python 2.7.12 o posterior. Para Python 3.6, se recomienda Python 3.6.3 o posterior.
Para instalar la dependencia de PyMySQL para una función de Python 2.7 en el directorio /tmp/pymysql local, ejecute el siguiente comando:
pip install PyMySQL --root /tmp/pymysql
Después de que el comando se ejecute correctamente, vaya al directorio /tmp/pymysql:
cd /tmp/pymysql/
Vaya al directorio site-packages (generalmente usr/lib64/python2.7/site-packages/) y ejecute el siguiente comando:
zip -rq pymysql.zip *
Se genera la dependencia requerida.
Para instalar el paquete de instalación de la rueda local, ejecute el siguiente comando:
pip install piexif-1.1.0b0-py2.py3-none-any.whl --root /tmp/piexif //Replace piexif-1.1.0b0-py2.py3-none-any.whl with the actual installation package name.
Creación de una dependencia para una función Node.js
Asegúrese de que la versión de Node.js correspondiente se ha instalado en el entorno.
Para instalar la dependencia MySQL para una función Node.js 8.10, ejecute el siguiente comando:
npm install mysql --save
La carpeta node_modules se genera bajo el directorio actual.
- SO Linux
Ejecute el siguiente comando para generar un paquete ZIP.
zip -rq mysql-node8.10.zip node_modules
Se genera la dependencia requerida.
Para instalar varias dependencias, cree primero un archivo package.json. Por ejemplo, introduzca el siguiente contenido en el archivo package.json y, a continuación, ejecute el siguiente comando:
{ "name": "test", "version": "1.0.0", "dependencies": { "redis": "~2.8.0", "mysql": "~2.17.1" } }
npm install --save
No ejecute el comando CNPM para generar dependencias de Node.js.
Comprima node_modules en un paquete ZIP. Esto genera una dependencia que contiene tanto MySQL como Redis.
Para otras versiones de Node.js, puede crear dependencias de la manera indicada anteriormente.
Creación de una dependencia para una función Java
Cuando compila una función usando Java, las dependencias deben compilarse localmente. Para obtener más información sobre cómo agregar dependencias, consulte Desarrollo de funciones en Java (Usando un IDEA Java Project).
Creación de una dependencia para una función PHP
Se recomienda EulerOS 2.9.6.
Por defecto, Composer y PHP 7.3 se han instalado en el entorno. Instalar Protobuf 3.19 usando Composer.
{ "require": { "google/protobuf": "^3.19" } }
Composer install
La carpeta vendor se genera con las subcarpetas autoload.php, composer y google en el directorio actual.
- Linux
Ejecute el siguiente comando para generar un paquete ZIP.
zip –rq vendor.zip vendor
- Windows
Comprima vendor en un archivo ZIP.
Si es necesario instalar varias dependencias, indíquelas en el archivo composer.json, comprima la carpeta vendor en un archivo ZIP y súbalo.
Para usar dependencias de terceros descargadas usando Composer en código de proyecto de PHP, cargue las dependencias a través de solicitar "./vendor/autoload.php". De forma predeterminada, los archivos descomprimidos del paquete ZIP cargado se colocan en un directorio al mismo nivel que el código del proyecto.