Configuración de IaC
Introducción
La configuración de Infrastructure as Code (IaC) te permite realizar exportaciones e importaciones de proyectos fácilmente desde la consola de Catalyst. Puedes exportar el esquema de un proyecto de Catalyst, incluyendo las configuraciones de sus componentes y el código, como un archivo ZIP externo. Este archivo ZIP se puede importar como un nuevo proyecto en cualquier cuenta de Catalyst. El archivo ZIP se crea en un formato específico al exportar un proyecto, y solo puede importarse en ese mismo formato.
La funcionalidad de exportación e importación de proyectos facilita la transferencia de proyectos entre centros de datos o entre cuentas de Catalyst. También permite acceder y probar fácilmente un proyecto desde un entorno externo, como un repositorio de GitHub. Simplemente puedes clonar un repositorio de Git que contenga los componentes de un proyecto de Catalyst, generar su archivo ZIP para importarlo y probar el proyecto. Estas acciones también se pueden realizar a través de un sistema remoto, como un sistema de CI, o escribir scripts para automatizar estas tareas. Además, esta funcionalidad te permite duplicar proyectos existentes y crear ramas para diferentes casos de uso.
Puedes acceder a la funcionalidad de exportación e importación de proyectos IaC en General settings de la consola de Catalyst.
Formato del archivo ZIP de exportación/importación
Las operaciones de IaC te permiten exportar e importar las configuraciones de un proyecto sin los datos. Los datos, como los registros en las tablas de Data Store, la lista de usuarios de la aplicación o los archivos de File Store, no se incluirán en el archivo ZIP. Sin embargo, los metadatos de cada tabla en Data Store o las estructuras de carpetas de File Store sí se incluirán. Esto será igual para cada funcionalidad.
El archivo ZIP también contendrá todas las functions y el código del componente Client en sus directorios correspondientes.
A continuación se muestra la estructura del archivo ZIP que se genera al exportar un proyecto:
- Archivo ZIP del directorio de Functions: El directorio de functions del proyecto en su estructura estándar. Todas las functions creadas en el proyecto estarán presentes como archivos ZIP individuales en este directorio, junto con sus archivos de configuración y los componentes del SDK.
- Archivo ZIP del directorio de Client: El directorio webclient del proyecto en su estructura estándar. El web client inicializado en el proyecto, con todos los archivos del client, estará presente como un archivo ZIP en esta carpeta.
- Archivo JSON project-template: Las configuraciones de los componentes del proyecto estarán presentes en un único archivo JSON. El archivo JSON contiene la configuración del proyecto y las definiciones de los componentes. Estas incluyen los metadatos de Data Store y File Store, los segmentos de Cache, los trabajos de Cron, las configuraciones de Circuits, las reglas de Security Rules, los dominios y direcciones de correo electrónico, los Event Listeners y sus reglas, las APIs en API Gateway, las plantillas de correo electrónico, los perfiles de usuario, y más.
A continuación se muestra un extracto de un archivo JSON project-template de ejemplo:
{
"name" : "project-template",
"version" : "1.0.0",
"parameters" : { },
"components" : {
"Circuits" : [ {
"type" : "circuit",
"name" : "InvoiceGen",
"properties" : {
"name" : "InvoiceGen",
"states" : {
"State1" : {
"next" : "End",
"start" : true,
"type" : "pass"
}
}
},
"dependsOn" : [ ]
} ],
"Functions" : [ {
"type" : "function",
"name" : "warehouseportal",
"properties" : {
"stack" : "node14",
"code" : {
"path" : "functions/warehouseportal.zip"
},
"configuration" : {
"memory" : 256
},
"type" : "basicio",
"name" : "warehouseportal"
},
"dependsOn" : [ ]
}
],
"WebClient" : [ {
"type" : "client",
"name" : "warehousePortal",
"properties" : {
"app_name" : "warehousePortal",
"code" : {
"path" : "webclient/warehousePortal.zip"
}
},
"dependsOn" : [ ]
} ],
"Cron" : [ {
"type" : "cron",
"name" : "dailyBackup",
"properties" : {
"cron_url_details" : {
"headers" : { },
"request_body" : "",
"request_method" : "POST",
"params" : { },
"url" : "https://catalyst.zoho.com/help/index.html"
},
"end_time" : -1,
"description" : "",
"cron_name" : "dailyBackup",
"job_detail" : {
"hour" : 1,
"timezone" : "America/Los_Angeles",
"minute" : 0,
"second" : 0,
"repetition_type" : "Daily"
},
"cron_type" : "Calendar",
"status" : true
},
"dependsOn" : [ ]
} ],
"Datastore" : [ {
"type" : "table",
"name" : "InventoryDB",
"properties" : {
"table_name" : "InventoryDB"
},
"dependsOn" : [ ]
}, {
"type" : "column",
"name" : "InventoryDB-ProductID",
"properties" : {
"decimal_digits" : 2,
"column_name" : "ProductID",
"data_type" : "int",
"is_unique" : false,
"is_mandatory" : false,
"search_index_enabled" : false,
"table_id" : "InventoryDB",
"table_name" : "InventoryDB",
"max_length" : 10
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
},
{
"type" : "tableScope",
"name" : "InventoryDB-App Administrator",
"properties" : {
"role_name" : "App Administrator",
"table_scope" : "GLOBAL",
"type" : "App Administrator",
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}, {
"type" : "tableScope",
"name" : "InventoryDB-App User",
"properties" : {
"role_name" : "App User",
"table_scope" : "GLOBAL",
"type" : "App User",
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}, {
"type" : "tablePermission",
"name" : "InventoryDB-App Administrator",
"properties" : {
"role_name" : "App Administrator",
"type" : "App Administrator",
"table_permissions" : [ "SELECT", "UPDATE", "INSERT", "DELETE" ],
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}, {
"type" : "tablePermission",
"name" : "InventoryDB-App User",
"properties" : {
"role_name" : "App User",
"type" : "App User",
"table_permissions" : [ "SELECT" ],
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}]
}
}
Exportar un proyecto
Puedes exportar cualquier proyecto desde la sección General Settings, ya que se trata de configuraciones comunes aplicables a toda tu cuenta de Catalyst.
Catalyst escribirá todas las definiciones de los componentes y la configuración del proyecto en el archivo JSON project-template. Si no se han configurado componentes, las configuraciones predeterminadas se escribirán en el archivo JSON.
Puedes exportar un proyecto desde su entorno de desarrollo o producción, si el entorno de producción ha sido habilitado. Una vez completada la exportación, podrás descargar el archivo ZIP que se generará. Luego puedes importar este archivo ZIP tal como está en un nuevo proyecto desde una cuenta diferente, un centro de datos distinto o la misma cuenta si necesitas duplicar el proyecto.
Para exportar un proyecto:
- Ve a Infrastructure as Code en General Settings y haz clic en la pestaña IaC Exports.

- Haz clic en Export a Project.
- Selecciona un proyecto para exportar de la lista de proyectos en el menú desplegable. Se mostrarán todos los proyectos de tu cuenta de Catalyst. Selecciona el entorno del proyecto que deseas exportar.

- Haz clic en Export.
Catalyst iniciará el proceso de exportación del proyecto. La consola mostrará el estado de la exportación.
Cuando se inicializa la exportación, se genera automáticamente un Export ID. Puedes usar el Export ID para verificar el estado del trabajo de exportación desde el CLI. La consola también mostrará otros detalles de la exportación. Una vez completada la exportación, se mostrará un enlace Download ZIP desde el cual podrás descargar el archivo ZIP del proyecto.
Si hubo algún problema en el proceso de exportación y Catalyst no pudo exportar el proyecto, la consola mostrará un enlace View Error Log.
Puedes hacer clic en este enlace para ver los detalles del error. Resuelve el error y exporta el proyecto de nuevo.
Reexportar un proyecto
Puedes exportar nuevamente un proyecto que ya fue exportado previamente, ya sea porque el enlace de descarga del ZIP ha expirado o porque se han actualizado los componentes o el código del proyecto.
-
Catalyst siempre exportará las definiciones y el código más recientes de un proyecto.
-
Si reexportas un proyecto que ya habías exportado previamente, solo estará disponible el enlace Download ZIP de la exportación más reciente de ese proyecto. Esto se debe a que Catalyst solo almacena la última exportación de un proyecto, y ninguna de sus exportaciones anteriores.
Para exportar nuevamente un proyecto que fue exportado previamente, haz clic en el icono de puntos suspensivos del proyecto exportado y luego haz clic en Export Again.
El proyecto se exportará de la misma manera que se describió en la sección anterior. Luego podrás descargar la última exportación usando el enlace Download ZIP.
Importar un proyecto
La opción de importación de IaC te permite importar un nuevo proyecto de Catalyst a partir de un archivo ZIP de un proyecto existente. Catalyst configurará cada componente según las definiciones especificadas en el JSON project-template. El código de las functions y del client también se incluirá en el proyecto, si está presente. Una vez completado el trabajo de importación, el nuevo proyecto estará disponible con las configuraciones y el código incorporados.
-
El archivo ZIP de origen que contiene las definiciones del proyecto, así como el código de las functions y del client, debe estar en el formato estándar para poder importarse.
-
El archivo JSON project-template debe estar obligatoriamente presente en la raíz del archivo ZIP. No se puede importar un proyecto sin este archivo. Los directorios functions o webclient no son obligatorios.
-
No es posible importar un proyecto directamente en el entorno de producción.
Puedes importar un nuevo proyecto de la siguiente manera:
- Ve a Infrastructure as Code en General Settings.

- Haz clic en Import New Project en la sección IaC Imports.
- Ingresa un nombre para el nuevo proyecto en la ventana emergente. Selecciona el archivo ZIP de origen del proyecto que deseas importar.

- Haz clic en Import.
Catalyst iniciará el proceso de importación del proyecto. La consola mostrará el estado del proceso.
Cuando se inicializa la importación, se genera automáticamente un Import ID. Puedes usar el Import ID para verificar el estado del trabajo de importación desde el CLI. La consola también mostrará otros detalles del trabajo de importación.
Si la importación se realiza correctamente, encontrarás un nuevo proyecto creado en la consola con los componentes configurados según el archivo ZIP. La consola mostrará un enlace Access Project para el trabajo de importación. Puedes hacer clic en este enlace para abrir el nuevo proyecto.
Si hubo algún problema en el proceso de importación y Catalyst no pudo importar el proyecto, la consola mostrará un enlace View Error Log.
Puedes hacer clic en él para ver los detalles del error. Resuelve el error e importa el proyecto de nuevo.
Última actualización 2026-03-20 21:51:56 +0530 IST
Yes
No
Send your feedback to us









