--- title: "Directorio de Functions" url: https://docs.catalyst.zoho.com/es/cli/v1/project-directory-structure/functions-directory/ description: "La estructura del directorio del proyecto se refiere a la estructura de directorio predeterminada en la que se crea un proyecto de Catalyst cuando lo inicializas desde el CLI." last_updated: 2026-08-17T12:16:04Z service: All Services type: general --- # Directorio de Functions ### Introducción Como se discutió anteriormente, Catalyst soporta Functions escritas en entornos de programación **Java**, **Node.js** y **Python**. La carpeta `functions` en el directorio del proyecto contiene todas las funciones del lado del servidor de tu microservicio o aplicación en carpetas individuales. La carpeta de una función individual en el directorio de Functions contiene el archivo principal de la función (el archivo de clase `.java` o el archivo `.js` o el archivo `.py`), y todas las demás dependencias necesarias y archivos de configuración de la función. También puedes crear funciones secundarias adicionales en la carpeta de la función que trabajen estrechamente con la función principal. Sin embargo, no puedes crear funciones secundarias en una carpeta de función desde el CLI. Puedes importar manualmente los archivos en la carpeta desde un entorno de desarrollo externo, o [crearlos en la consola de Catalyst](https://docs.catalyst.zoho.com/es/serverless/help/functions/implementation/) y [descargarlos (pull)](https://docs.catalyst.zoho.com/es/cli/v1/pull-resources/introduction/) al directorio usando el CLI. > **Nota:** Puedes agregar cualquier cantidad de Functions de stacks Java, Node.js o Python en el directorio de Functions usando el CLI o configurar el componente de Functions en cualquier momento usando el CLI. Para aprender más, consulta la [página de ayuda Trabajar con Functions](https://docs.catalyst.zoho.com/es/cli/v1/working-with-functions/introduction/). Cuando [inicializas Functions desde el CLI](https://docs.catalyst.zoho.com/es/cli/v1/initialize-resources/initialize-functions/) en el directorio del proyecto, se creará una carpeta llamada 'functions' dentro del directorio del proyecto, junto con las dependencias necesarias según el entorno de programación que selecciones. La carpeta de una función **Java** se configura con los siguientes componentes cuando se crea: 1. El archivo de clase `.java` principal 2. `catalyst-config.json` 3. Los archivos de biblioteca `.jar` La carpeta de una función **Node.js** se configura con los siguientes componentes cuando se crea: 1. El archivo de función principal (`index.js`) 2. `catalyst-config.json` 3. Módulos de Node y dependencias de función Node.js La carpeta de una función **Python** se configura con los siguientes componentes cuando se crea: 1. El archivo main.py 2. `catalyst-config.json` 3. El archivo `requirements.txt` Primero discutamos sobre el archivo de función principal y el archivo `catalyst-config.json` que son comunes en los entornos de programación Java, Node.js y Python. ### El Archivo de Función Principal El archivo de función principal es el archivo de tipo `.java` o `.js` o `.py`, dependiendo del lenguaje que selecciones al inicializar la función. El archivo de función principal se crea con una estructura de código de ejemplo para Java, Node.js y Python. Para una función Java, necesitarás proporcionar el nombre de clase de la función principal y el nombre de referencia del grupo de funciones al inicializarla desde el CLI. El nombre de la carpeta de la función será el mismo que el nombre de referencia de la función. Para una función Node.js y Python, necesitarás proporcionar el nombre del paquete de la función. También necesitarás proporcionar el nombre del archivo de punto de entrada o el archivo de función principal, que será index.js y main.py por defecto, respectivamente. El archivo [`catalyst.json`](https://docs.catalyst.zoho.com/es/cli/v1/project-directory-structure/catalyst-json/) especificará los nombres de referencia o de paquete de todas las Functions. ### Archivo catalyst-config json El archivo `catalyst-config.json` especifica la configuración de la función, como sus especificaciones de despliegue y ejecución. ```json { "deployment":{ "name": "fn", "stack": "node16", "type": "advancedio", "env_variables": {} }, "execution": { "main": "index.js" } } ``` La información de `deployment` incluye los siguientes parámetros: * `name`: El nombre de referencia del grupo de funciones que proporcionaste al inicializarlo. Si modificas el nombre de referencia de la función, asegúrate de actualizar los cambios en _catalyst-config.json_ y renombrar la carpeta de la función con el mismo nombre. También debes reflejar los cambios en `catalyst.json`. * `stack`: Indica si es una función Java, Node.js o Python y la información de versión. Cambiar este valor resultará en errores. * `type`: Indica el tipo de función. Para aprender más sobre los tipos de funciones, consulta la [página de ayuda de Functions](https://docs.catalyst.zoho.com/es/serverless/help/functions/introduction/). Cambiar este valor resultará en errores. `execution` se refiere al archivo de función principal que es el punto de entrada, es decir, el nombre del archivo de función principal `.java`, `.js` o `.py`. Debes asegurarte de que el archivo `catalyst-config.json` esté presente en la raíz de la carpeta de la función y contenga las configuraciones correctas cuando despliegues la función. Ahora veamos en detalle los archivos de biblioteca Java, las dependencias de funciones Node y Python: ### La Carpeta de Biblioteca Java La carpeta de biblioteca llamada `lib` contiene los archivos JAR dependientes para la función. La carpeta lib se agrega al directorio de la función automáticamente cuando inicializas la función para el entorno Java desde el CLI. ![Project Directory Structure- Java Function Directory](https://catalyst-docs-development.zohostratus.in/images/cli/project-directory-structure/catalyst_proj_dir_func_dir_java.webp) Estos archivos JAR son parte del paquete [Java SDK](https://docs.catalyst.zoho.com/es/sdk/java/v1/overview/). Durante el tiempo de ejecución, la función Java llama a estos archivos de biblioteca ya que contienen paquetes y características que la función requiere para ejecutarse. ### Módulos de Node y Dependencias de Funciones Node JS La carpeta de una función Node.js esencialmente incluye lo siguiente: 1. El archivo de función principal 2. `catalyst-config.json` 3. `package-lock.json` 4. `package.json` 5. La carpeta de módulos de Node Previamente hemos discutido el archivo de función principal y el archivo `catalyst-config.json`. Los módulos de Node y las dependencias de funciones Node se instalan en tu sistema cuando instalas el paquete [Node.js SDK](https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/overview/). ![Project Dir Structure- Node.js Directory](https://catalyst-docs-development.zohostratus.in/images/cli/project-directory-structure/catalyst_proj_dir_func_dir_node_2.webp) Los archivos `package.json` y `package-lock.json` son archivos de dependencia que contienen la configuración de la función. El archivo `package.json` especifica información como el nombre de la función, archivo de función principal, versión, autor y más, mientras que el `package-lock.json` especifica otra información de dependencias en detalle. > **Nota:** Si renombras la función, debes actualizar los cambios en estos archivos de configuración. La carpeta de módulos de Node contiene las subcarpetas de los módulos. Cada módulo contiene archivos de biblioteca individuales, archivos de licencia, archivos de configuración, archivos index y más, que son esenciales para la ejecución de tus funciones Node.js. Uno de los módulos de Node, `zcatalyst-sdk-node`, contiene las definiciones del Node.js SDK de todos los componentes de Catalyst agrupados en una carpeta llamada `src`, y otros archivos de dependencia. > **Nota:** * Cuando creas una función desde la consola, el grupo de funciones no contendrá todas las dependencias requeridas. Por ejemplo, los módulos de Node no se agregarán a un grupo de funciones Node.js, aunque se creará una carpeta para ellos. En tales casos, puedes [descargar (pull) las Functions](https://docs.catalyst.zoho.com/es/cli/v1/pull-resources/pull-all-resources/#pull-functions) desde la consola al directorio del proyecto usando el CLI. Esto creará un directorio para esas funciones en la estructura requerida. Si el grupo de funciones creado en la consola contiene funciones secundarias, se incluirán en la carpeta de la función cuando las descargues desde la consola. * Cuando creas una función desde un editor externo y la importas a Catalyst, debes asegurarte de que todas las dependencias estén incluidas y todos los archivos de configuración estén creados en el formato especificado. Si hay alguna discrepancia, podría resultar en errores cuando la función se ejecute. ### Módulos de Python y Dependencias de Funciones La carpeta de una función Python esencialmente incluye lo siguiente: 1. El archivo main.py 2. `catalyst-config.json` 3. El archivo `requirements.txt` Ya hemos discutido sobre el archivo de función principal y el archivo catalyst-config.json en las secciones anteriores. #### Archivo requirements.txt Este archivo `requirements.txt` contiene la lista de dependencias instaladas que se necesitan para implementar la función Python. Por defecto, contiene la entrada para el paquete Python SDK de Catalyst (`zcatalyst-sdk`), cuando creas la función Python desde el CLI. Cuando instalas dependencias externas o bibliotecas para tu función, tendrás que configurar los nombres y valores de las dependencias en forma de pares clave-valor manualmente en el archivo requirements.txt y guardarlo. También puedes actualizar la versión del paquete Python SDK o cualquiera de las dependencias externas simplemente configurando los valores de versión apropiados en el archivo `requirements.txt` y guardándolo. Cuando sirvas o despliegues tu función Python desde el CLI, las configuraciones actualizadas se reflejarán. > **Nota:** Debes configurar todas las dependencias externas que agregues en el directorio de la función en el archivo requirements.txt de manera obligatoria. La estructura del directorio de funciones Python es la siguiente: ![Project Dir Structure- Python Directory](https://catalyst-docs-development.zohostratus.in/images/cli/project-directory-structure/catalyst_proj_dir_func_dir_python.webp)