--- title: "Configurar la función Advanced I/O" url: https://docs.catalyst.zoho.com/es/tutorials/newsapp/nodejs/configure-advancedio/ description: "Construya una aplicación web de noticias que obtiene automáticamente noticias de un servicio de terceros periódicamente utilizando el componente Cron de Catalyst Job Scheduling, y una Job Function y función Advanced I/O codificadas en Node.js." last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "Advanced I/O Function" url: /es/serverless/help/functions/advanced-io - name: "Data Store" url: /es/cloud-scale/help/data-store/introduction - name: "ZCQL" url: /es/cloud-scale/help/zcql/introduction --- # Configurar la función Advanced I/O El directorio de la función Advanced I/O (`functions/news_app_function`) contiene los siguientes archivos: * El archivo principal de la función `index.js` * El archivo de configuración `catalyst-config.json` * Módulos de Node * Archivos de dependencias [`package.json`](https://docs.npmjs.com/files/package.json) y [`package-lock.json`](https://docs.npmjs.com/configuring-npm/package-lock-json.html). Agregará código en el archivo `index.js`. La función Advanced I/O obtiene el elemento de noticias de su tabla de origen en el Data Store y lo envía al componente client como una respuesta JSON. ### Instalar el framework Express Node.js Dado que está codificando en la plataforma Node.js, utilizará el framework [`Express Node.js`](https://expressjs.com/). Para importar el paquete Express en el código, debe instalar las dependencias de Express en su sistema. ```sh npm install express ``` Esto instalará el módulo Express y guardará las dependencias. ![advanced-express](https://catalyst-docs-development.zohostratus.in/images/tutorials/cron/advanced-express.webp) Copie el código de Node.js y péguelo en `index.js` en el directorio `functions/news_app_function` de su proyecto, y guarde el archivo. Puede usar cualquier IDE para trabajar con los archivos de la aplicación. > **Nota**: Por favor, revise el código en esta sección para asegurarse de que lo comprende completamente. **index.js** ```javascript 'use strict'; var express = require('express'); var app = express(); var catalyst = require('zcatalyst-sdk-node'); app.use(express.json()); //API GET que obtiene las noticias de la tabla requerida app.get('/fetchData', (req, res) => { var tablename = req.query.tablename; console.log("Table Name "+tablename); //Inicializando el SDK de Catalyst var catalystApp = catalyst.initialize(req); //Consulta la tabla del Catalyst Data Store y obtiene las noticias requeridas getDataFromCatalystDataStore(catalystApp, tablename).then(newsDetails => { res.send({ "content": newsDetails }) }).catch(err => { console.log(err); sendErrorResponse(res); }) }); /** * Ejecuta la consulta y obtiene las noticias de la tabla * @param {*} catalystApp * @param {*} tablename */ function getDataFromCatalystDataStore(catalystApp, tablename) { return new Promise((resolve, reject) => { //Consulta la tabla del Catalyst Data Store catalystApp.zcql().executeZCQLQuery("Select title,url from " + tablename).then(queryResponse => { resolve(queryResponse); }).catch(err => { reject(err); }) }); } /** * Envía una respuesta de error * @param {*} res */ function sendErrorResponse(res) { res.status(500); res.send({ "error": "Internal server error occurred. Please try again in some time." }); } module.exports = app; ``` La función Advanced I/O está ahora configurada. Discutiremos la arquitectura de la aplicación después de configurar el client.