- Impresión
Comprender las matrices y los objetos en las salidas de funciones de conector
Propósito
Las Funciones de los Conectores SQL y HTTP envían "Salidas" a las apps como objetos o matrices. Aprende a manipular los objetos en las aplicaciones.
En este artículo aprenderás... * Cómo utilizar los "Outputs" de una función Connector en una app
Cómo usar "Outputs" de una función Connector en una app
Arrays y Objetos son dos estructuras de datos populares que se utilizan en muchos lenguajes de programación. Tulip utiliza ambas estructuras de datos en las funciones conectoras:
- Cuando una función de conector SQL devuelve varias filas, la salida se envía a una aplicación como una matriz llena de objetos.
- Cuando una función de conector HTTP devuelve una salida con un array en ella, el array aparecerá en una app como un array lleno de objetos.
- Cuando una función de conector SQL devuelve una única fila, o una función de conector HTTP tiene cualquier salida, los valores se almacenan como pares clave/valor en un objeto.
Los objetos sólo pueden crearse automáticamente tras la finalización con éxito de una función de conector.
Esta guía le mostrará cómo se organizan automáticamente las salidas de las funciones conectoras. A continuación, verás cómo utilizar estas salidas en las aplicaciones.
Recogiendo los resultados de los Conectores
Imagina que quieres extraer todos los datos sobre un operador específico de una base de datos SQL basándote en su ID de Tulip badge.
Para hacer esto, escribirías una función SQL Connector que toma badge_id como entrada, y guarda toda la información del operador en una salida. En este caso, la salida se llama nombre_grupo. Así es como se vería:
Esta función tiene una salida, nombre_grupo, que se almacena como una cadena. Esto se basa en la etiqueta "Texto" de la sección Salidas.
De hecho, cuando creas una función Conector, no existe la opción de almacenar la salida como un array u objeto. Aquí están los tipos de datos permitidos de la sección "Salidas".
Por lo tanto, debes almacenarlo como "Texto", y luego manipularlo en el Editor de Disparadores.
Ejecute esta función en el Trigger Editor para almacenar la salida en un Objeto.
- Conector "Ejecutar Función de Conector": "SBD - Prueba" "Navegación del operador"
- ID de la placa: "Valor Estático" "texto" "2222" y guarde el resultado como: "Variable" "test_var"
En este caso, está utilizando un valor de 2222 como entrada y almacenando el resultado en una variable llamada "test_var".
Uso de objetos en una aplicación
En el ejemplo anterior, tomamos una salida llamada nombre_grupo y la guardamos en una variable llamada test_var. La vista App Variables muestra que esta variable es en realidad un objeto con una propiedad llamada "nombre_grupo".
De hecho, si la Función Conectora tuviera múltiples salidas, cada una se guardaría como una nueva propiedad del objeto llamado "test_var" que se creó en el Trigger. Esto te permite organizar todas las salidas de una llamada a función en un solo lugar.
Puede probar las salidas de la función añadiendo algún texto Variable a su aplicación y seleccionando la variable en la pestaña Widget del Panel Contextual.
En este caso, tenemos una variable llamada "Detalles del Pedido" que almacena un objeto con 5 campos:
- pedidoRealizado
- cantidad
- dirección1
- dirección2
- dirección3
En cuanto seleccione el objeto en el cuadro de búsqueda Variables, verá que los 5 campos se rellenan en su aplicación con etiquetas basadas en los nombres de las propiedades. Es posible que tenga que ampliar el campo de texto de la variable para verlas todas a la vez.
Visualización de objetos
Si tu Objeto tiene múltiples propiedades, puede que quieras mostrarlas todas a la vez en un paso de tu app. Esto es más fácil que crear un nuevo texto variable para cada propiedad individual.
Para reordenar/eliminar propiedades individuales del objeto, haga clic en la x o en el símbolo de cuadrícula de la propiedad en el Panel Contextual.
Para cambiar el número de columnas, utilice la opción Columnas del Panel Contextual.
Para cambiar la visualización de las etiquetas y los valores, ajuste el color y el tamaño de la fuente en el Panel de Contexto.
Para ver cómo se mostrarán estos datos al operador, ejecute la aplicación en el Reproductor y podrá ver el objeto completo. Los valores se incluirán si primero ejecuta la Función Conectora que recoge los valores.
Manipulando Objetos
Utilizar un Array de objetos en tu app puede limitar tus opciones para extraer los puntos de datos que estás tratando de obtener. Puedes manipular un Array de objetos que sale de una función de conector para facilitar el acceso a los datos que deseas utilizar en tu lógica, etc. Para ello, especifique la(s) clave(s) de un objeto que desee extraer. Esto ayudará a agilizar la salida de datos, permitiéndole aprovechar mejor los datos que le interesan.
A continuación se muestra un ejemplo de Connector Function:
La salida de arriba es un array de objetos. Cuando las funciones conectoras devuelven un array de objetos, existen acciones en el editor de expresiones que ayudan a manipularlos. Estas funciones de mapeo le permiten mapear valores correspondientes basados en una clave dada. Los valores devueltos se pueden asignar a una matriz del tipo seleccionado. Puede utilizar MAP_TO_TEXT_LIST() para obtener una matriz de texto de todos los Títulos.
- Conector "Ejecutar Función del Conector": "Test" "Función de prueba" y guardar resultado como: "test_output"
- "Manipulación de Datos" "Almacenar" datos: "Expresión" "MAP_TO_TEXT_LIST(Variable.test_out.Test Padre, 'Test Hijo')
El primer parámetro que se pasa a la función map es la matriz de objetos. El segundo parámetro, 'Test Child', es el nombre del extractor indicado en la salida de la función del conector. El nombre del extractor se utiliza como clave para extraer los valores. Esto mostrará todos los títulos en un array de cadenas.
Revisión de todas las variables de objeto de una aplicación
Para poder manipular una estructura de datos en una aplicación, ésta debe estar almacenada como una variable. Puede ver sus variables existentes entrando en el Panel Contextual en el Editor de Aplicaciones, y seleccionando el símbolo Sigma junto a "Variables" en la pestaña Aplicación.
Los objetos se mostrarán con el símbolo universal de objeto, "{}".
Visualización de Múltiples Filas de SQL o Matrices desde Conectores HTTP
Si desea convertir varias filas de salida SQL o matrices de conectores HTTP en listas interactivas en una aplicación, consulte esta guía independiente
Más información
- Cómo utilizar matrices en aplicaciones
- Cómo Llamar a una Función de Conector Utilizando Triggers
- Guía del Editor de Expresiones en el Editor de Aplicaciones
¿Has encontrado lo que buscabas?
También puedes dirigirte a community.tulip.co para publicar tu pregunta o ver si otros se han enfrentado a una pregunta similar.