Funciones Basic I/O
Introducción
Las funciones Basic I/O se usan para realizar operaciones básicas de entrada y salida, cálculos y operaciones HTTP simples entre los diversos componentes de Catalyst. Las funciones Basic I/O procesan entradas y salidas en formato JSON.
El endpoint de una función Basic I/O es directamente accesible a través de su URL de Function. La URL de la función se genera cuando se crea la función, y te permite acceder directamente a la función y probarla en diferentes condiciones.
Puedes crear una función Basic I/O desde la consola de Catalyst, programarla y probarla allí, o usar el CLI para inicializar la función y desplegarla en la consola después de probarla. El CLI también te permite probar funciones Basic I/O a través de un Node shell o sirviendo la función a través de un localhost.
Puedes usar varias herramientas para gestionar tus funciones Basic I/O y ver sus estadísticas de rendimiento como Logs, Application Performance Monitoring o API Gateway, como se menciona en la página de introducción de Functions.
Puedes consultar este tutorial para practicar el trabajo con funciones Basic I/O.
Estructura de la función
El archivo principal de la función en Java, Node.js y Python se inicializa con código y módulos predeterminados diferentes para cada tipo de función, cuando se crea la función.
Como se menciona en la sección Stack de Functions, la estructura de una función Java, Node.js o Python generalmente contiene un archivo principal de la función junto con dependencias y archivos de configuración. Al crear la función Basic I/O en el entorno Node.js, puedes elegir crearla con o sin el SDK de Node.js de Catalyst. Si la incluyes sin el SDK, los módulos Node y otros archivos de dependencias de Node no se agregarán. Consulta la página de ayuda de Estructura del Directorio del Proyecto para detalles sobre la estructura genérica del directorio de funciones y los archivos de configuración de las funciones de Catalyst.
Antes de discutir los módulos que contiene un archivo principal de función Java, Node.js o Python, veamos el código predeterminado con el que se inicializa la función.
Catalyst inicializa una función Basic I/O de Java con el siguiente código predeterminado de una operación simple de entrada y salida.
Una función Basic I/O de Node.js también incluye un código predeterminado que contiene una operación simple de entrada y salida.
Una función Basic I/O de Python incluye el siguiente código predeterminado que contiene una operación simple de entrada y salida.
def handler(context, basicio):
basicio.write('Hello from {{_MAIN_}}')
basicio.get_argument('name')
context.log('Successfully executed basicio function')
context.close()
Módulos de Java, Node.js y Python
Una función Basic I/O de Catalyst contiene dos módulos en las plataformas Node.js y Python: context y basicIO.
El módulo context en Node.js y Python incluye los siguientes métodos integrados:
- context.close(): Para indicar el fin de la función. Debes usar esto al final de la función.
- log(*args): Este método se usa para imprimir el conjunto de argumentos pasados en la función.
Para obtener el tiempo de ejecución restante y el tiempo máximo de ejecución de la función de evento, el módulo context incluye los siguientes métodos:
Node.js:
- context.getRemainingExecutionTimeMs(): Se puede usar para obtener el tiempo de ejecución restante de una función.
- context.getMaxExecutionTimeMs(): Este método se puede usar para obtener el tiempo máximo de ejecución de una función, que es un valor constante de 30 segundos.
El módulo basicIO en Node.js y Python incluye los siguientes métodos integrados:
- basicIO.write(): Para imprimir la salida. Solo puedes obtener una salida de tipo String. Puedes usar este método en un solo lugar de la función. La memoria máxima soportada para la salida es 1MB.
- basicIO.setStatus(): Método opcional para establecer un código de estado de error. Los códigos de estado predeterminados son: estado 200 para ejecuciones exitosas que devuelve la clave output, estado 500 para ejecuciones no exitosas que se envía al objeto de error y devuelve una respuesta JSON. También puedes establecer un código de estado personalizado.
- basicIO.getArgument(): Para obtener los parámetros individuales de la función. Puedes pasarlos como una cadena de consulta en la URL o en un cuerpo JSON. Si los pasas de ambas formas, la cadena de consulta se considera como prioridad.
Una función Basic I/O en Java contiene los mismos módulos y métodos integrados que Node.js y Python. Algunos métodos adicionales soportados en Java son:
- context.getOrigin(): Para obtener el tipo de función
- basicIO.getAllArguments(): Para obtener todos los parámetros de la función
URL de Function
Como se mencionó anteriormente, el endpoint de una función Basic I/O es directamente accesible a través de una URL de invocación única. Puedes invocarla manualmente a través de su URL, pasar entrada si es necesario y obtener la respuesta. Puedes implementar esta URL en el código de tu aplicación, o usarla según lo requieras. Esta URL de función se genera automáticamente cuando se crea la función.
La URL de producción de una función Basic I/O tiene el siguiente formato: https://project_domain_name.catalystserverless.com/server/function_name/execute
En el entorno de Development, la URL menciona la clave development como: https://project_domain_name.development.catalystserverless.com/server/function_name/execute
-
https://project_domain_name.catalystserverless.com es el App Domain de tu aplicación de Catalyst.
-
/server indica que es una función.
-
La URL identifica la función por su nombre.
-
/execute indica que es una función Basic I/O.
Puedes obtener la URL de una función desde la consola, o en tu terminal después de desplegar la función desde el Catalyst CLI.
Como Catalyst te permite probar funciones Basic I/O desde la consola, puedes agregar directamente las claves y valores para los parámetros en la función y probarla allí. Consulta la sección Trabajar con Functions desde la consola para más detalles.
También puedes invocar la URL de Function a través de un navegador y pasar los parámetros como una cadena de consulta en la URL. Por ejemplo, en una función simple que obtiene un nombre y lo muestra, pasamos el valor para el parámetro llamado name como una cadena de consulta e invocamos la URL.
La salida de la función se muestra entonces en la ventana del navegador.
Push a Logs
Catalyst Logs muestra los logs de todas las ejecuciones de tus funciones junto con los detalles necesarios. Las ejecuciones de funciones se registran automáticamente en los logs. Sin embargo, también puedes enviar los datos de respuesta de la ejecución de una función Basic I/O a los logs manualmente.
Catalyst te permite escribir hasta 1500 caracteres en los logs. También puedes enviar las respuestas a diferentes niveles de log individualmente, como a Info o Warning.
Los datos de respuesta de una función Basic I/O se pueden enviar a los logs usando el siguiente método: context.log().
Puedes ver esta instrucción en el código predeterminado con el que se inicializa una función Basic I/O, donde la entrada recibida del usuario se envía a los logs y el nivel del logger también se establece manualmente.
Última actualización 2026-03-20 21:51:56 +0530 IST
Yes
No
Send your feedback to us


