Modo de Upsert en MongoDB disponible desde la versión 2.1.2
Modo de Upserts masivos en MongoDB disponible desde la versión 2.3.0
Descripción
La etapa de destino Onesait de Dataflow actualiza la información sobre las ontologías configuradas.
Cómo usarla
Importación al pipeline
Para añadirlo al pipeline, busca Onesait en la paleta de etapas así:
Arrastra y suelta en el panel.
Una vez importado, se puede configurar para conseguir diferentes comportamientos según el caso.
Pestañas de configuración disponibles
General
Esta pestaña muestra información general y una opción para mostrar el punto generador de eventos en el escenario.
Marcando la opción "Producir Eventos", el escenario muestra otro punto para hacer uso de los eventos.
Los eventos que se activan son:
Documento modificado
Que envía los registros actualizados en una lista (data-updated).
Documento no modificado
Que envía los registros no actualizados en una lista (data-not-updated).
Por ejemplo, data-not-updated:
Origen
Esta pestaña muestra un formulario para rellenar con la información del Broker Digital de Onesait Platform.
Destino
Esta pestaña muestra el formulario principal de la etapa.
ThreadPool (Pozo de hilos): Número de hilos a crear.
Los dos últimos formularios mapean los campos del registro con la fuente de datos (data source) para actualizar los documentos
Filtering fields (Campos de filtrado): Filtro aplicado al actualizar los documentos.
Record field (Campo del registro): Campo del registro del que se obtendrá el valor.
Operator (Operador): Operador SQL.
Column name (Nombre de la columna): Ruta de la propiedad en la fuente de datos.
Update fields (Campos a actualizar): Campos que actualizar en los documentos filtrados en el formulario anterior.
Record field (Campo del registro): Campo del registro del que se va a obtener el valor.
Column name (Nombre de la columna): Ruta de la propiedad en la fuente de datos.
Si se selecciona la opción Usar SQL, se puede utilizar una consulta SQL personalizada:
Ejemplo
Digamos que recibimos datos como esta estructura sencilla.
Y en nuestra ontología tenemos documentos con un índice único en el path user.id.
Si queremos actualizar las propiedades user.first_name y user.last_name en nuestra ontología, configuraríamos la pestaña Destino así:
Tenemos que establecer el campo de filtrado para que coincida con el valor del campo de registro y el índice único en la ontología para obtener el documento que necesitamos.
A continuación, estableceríamos las propiedades a actualizar en el nombre de la columna, en función de los valores de los campos de registro.
Modo de Upsert en MongoDB (a partir de la versión 2.1.2)
A partir de la versión 2.1.2 es posible utilizar el nodo upsert como nodo upsert (sólo para ontologías MongoDB) con la siguiente configuración:
"Usar SQL" debe estar desmarcado y “modo Upsert” debe estar marcado. Este modo tiene tres parámetros de configuración:
Root node type (Tipo de nodo raíz) → como en el nodo de inserción, se puede utilizar el tipo de nodo raíz de la ontología de destino.
Custom root node name (Nombre personalizado de nodo raíz) → sólo se puede utilizar cuando se selecciona “Nombre personalizado de nodo raíz” para especificar el nombre personalizadodel nodo raíz.
Key fields to perform upsert (Campos clave para realizar upsert) → Selecciona los campos de datos entrantes para generar la clave dinámica del registro. Cuando se encuentra esta clave, se aplica la actualización, y cuando no se encuentra, se produce una inserción.
Modo de Upserts Masivos en MongoDB (desde 2.3.0)
A partir de la versión 2.3.0 es posible utilizar el modo masivo con upserts (sólo para ontologías MongoDB) con la siguiente configuración:
Donde Bulk (Masivo) es el número de consultas que se van a ejecutar en modo masivo cada vez.