Table of Contents |
---|
Introducción
En esta guía se describen los nodos Query Static y Query Dynamic mostrando ejemplos para cada uno. La metodología que sigue la guía es la creación de una ontología, definiciones de las queries y creación del flujo en FlowEngine.
Creación de la ontología
Comenzaremos Comienza creando una ontología llamada queryNoderedTest. Mediante la opción de Creation Step by Step, añadimos añade los campos "field" de tipo string y "value" de tipo number, actualizamos actualiza el esquema y generamos genera la instancia.
JSON de la ontología queryNoderedTest
Code Block | ||
---|---|---|
| ||
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "queryNoderedTest", "type": "object", "required": [ "queryNoderedTest" ], "properties": { "queryNoderedTest": { "type": "string", "$ref": "#/datos" } }, "datos": { "description": "Info queryNoderedTest", "type": "object", "required": [ "field", "value" ], "properties": { "field": { "type": "string" }, "value": { "type": "number" } } }, "description": "Creación de una ontología para el uso de los nodos query en el Flow Engine.", "additionalProperties": true } |
Es posible realizar la inserción de datos mediante el CRUD de la propia ontología o mediante el FlowEngine y su nodo Insert.
Definición del nodo Query Static
Una query estática está basada en la información añadida en el momento de la creación. Una vez establecidos los datos iniciales no es posible modificar los campos.
A través de este nodo se pueden realizar varios tipos de peticiones, tanto datos como información, tales como: select, update y delete.
Definición del nodo Query Dynamic
En una query dinámica la información puede ser actualizada en cualquier momento. Al igual que ocurría con la query estática, las peticiones que se pueden realizar son de consulta, actualizado y de borrado.
Creación del flujo en FlowEngine
Flujo con Query Static
Se comienza Comienza con la creación de un flujo con query static. Los nodos que se van a utilizar son:
Inject. : Activa el flujo de forma manual o a intervalos.
Query Static. : Usado para realizar la consulta con bases de datos estáticas.
Debug. : Monitoriza los mensajes.
Flujo de consulta, select
.Doble Haz doble click en el nodo query static para que se abra la ventana correspondiente a la imagen derecha. Se rellenan Rellena los campos:
Name: select query
Ontologies available: queryNoderedTest
Ontology: queryNoderedTest
Query type: SQL
Query: select * from queryNoderedTest
En el nodo Debug se , cambia la opción msg. por complete msg object. El resultado que se obtiene en el payload es un mensaje tipo texto con la información de la ontología. En caso de querer convertirlo a un objeto habrá , tendrás que hacer un parse object.
Flujo de actualización, update
.Doble Haz doble click en el nodo query static para que se abra la ventana correspondiente a la imagen derecha. Se rellenan Rellena los campos:
Name: update query
Ontologies available: queryNoderedTest
Ontology: queryNoderedTest
Query type: SQL
Query: update queryNoderedTest set queryNoderedTest.value=24;
En el nodo Debug se cambia la opción msg. por complete msg object. El resultado que se obtiene en el payload es un contador con la cantidad de objetos que se han modificado. En este ejemplo solo se modifica un valor.
Flujo de borrado, delete
.Doble Haz doble click en el nodo query static para que se abra la ventana correspondiente a la imagen derecha. Se rellenan Rellenan los campos:
Name: delete query
Ontologies available: queryNoderedTest
Ontology: queryNoderedTest
Query type: SQL
Query: delete from queryNoderedTest where queryNoderedTest.value=24;
En el nodo Debug se cambia la opción msg. por complete msg object. El resultado que se obtiene en el payload es un contador con la cantidad de objetos que se han eliminado. En este ejemplo solo se elimina un valor.
Flujo con Query Dynamic
Creación de un flujo con query dynamic. Los nodos que se van a utilizar son:
Inject. : Activa el flujo de forma manual o a intervalos.
Function. : Función JavasScript contra los mensajes recibidos por el nodo.
Query Static. : Usado para realizar la consulta con bases de datos estáticas.
Debug. : Monitoriza los mensajes.
Se introduce Introduce en la ventana del nodo query dynamic el nombre que va a llevar dicho nodo, en este caso, Dynamic query. Se cambia Cambia también la opción de Debug de msg a complete msg object.
En este caso, la query se ha hecho con select pero, al igual que en el caso static, se puede escribir una consulta con update o delete.
Falta configurar el nodo Inject. En payload se , escoge la opción JSON y se e introduce el dato que queramos quieres buscar. En el nodo Function, se ha escrito msg.payload.filtro por lo que a la hora de escribir el campo en Inject se hará con filtro. El resultado quedaría: Payload: {"filtro":28.6}.
Se pulsa Pulsa sobre Deploy y se ejecuta el flujo. El resultado que obtenemos obtendrás como payload es un conjunto vacío, ya que el valor de la búsqueda, 28.6, no está incluido en los datos.