Saltar al contenido

Reutilización de transformaciones en Jitterbit Integration Studio

Introducción

Dado que una transformación puede ser referenciada como un paso de operación en múltiples operaciones al mismo tiempo, es importante entender las ramificaciones y la complejidad detrás de la reutilización de transformaciones.

El proceso involucrado en referenciar una transformación depende de si el esquema está definido en una transformación ("propiedad de la transformación") o heredado de una actividad ("propiedad de la actividad"):

  • Esquemas propiedad de la transformación: Cuando un esquema es definido directamente en una transformación, es propiedad de la transformación y referenciar la transformación es sencillo, como se describe en Reutilización de componentes.
  • Esquemas propiedad de la actividad: A diferencia de los esquemas propiedad de la transformación, cuando se referencia una transformación que hereda al menos un esquema de una actividad, el orden en que se configuran los pasos de una operación controla cómo se propagan los esquemas a través de las referencias de transformación y determina qué mensajes se presentan en la interfaz de usuario. Esos mensajes ayudan a elegir qué esquemas utilizar y facilitan la creación de una nueva transformación cuando sea apropiado. Después de referenciar una transformación, puede ser necesario actualizar los esquemas en la transformación original o referenciada para resolver errores de validación, como se describe en esta página.

Dado que esta página es complementaria a Reutilización de componentes, no repite la información contenida en esa página. Consulte Reutilización de componentes para las definiciones de la terminología de reutilización de componentes y cómo copiar, cortar y pegar componentes (incluidas las transformaciones).

Cuando se referencia una transformación, es útil tener en cuenta que tanto la transformación original como la transformación recién referenciada se refieren al mismo componente. Cualquier cambio en cualquiera de las transformaciones afecta todas las instancias de la transformación referenciada, incluidos los cambios en la forma en que se definen los esquemas. Si una transformación hereda un esquema de una actividad adyacente, y luego se crea una referencia a esa transformación en otra operación, la transformación recién referenciada contendrá una referencia al esquema original, a pesar de que la actividad no esté adyacente a la transformación referenciada.

Cuando eso ocurra, debes rectificar los cambios actualizando los esquemas y resolviendo cualquier error de validación.

Caso de uso

El caso de uso previsto para poder reutilizar una transformación que hereda esquemas de actividad es cuando tienes múltiples fuentes donde deseas utilizar mapeos similares hacia el mismo destino.

Por ejemplo, puedes tener datos de origen proporcionados a través de esquemas de actividad en el Endpoint A y el Endpoint B. Si la estructura de los datos de origen es similar, es posible que desees reutilizar los mapeos de transformación antes de llegar al destino del Endpoint C. En este caso, primero puedes crear la operación utilizando el Endpoint A como fuente, y luego copiar su transformación para reutilizarla en otra operación utilizando el Endpoint B como fuente.

Si bien también es posible reutilizar una transformación que hereda un esquema de destino de actividad, cualquier mapeo de transformación original se eliminará de una nueva copia de la transformación que se crea cuando se actualiza el esquema de destino.

Mejores prácticas

Recomendamos seguir estas mejores prácticas al reutilizar transformaciones que heredan al menos un esquema de una actividad.

Agregar actividades antes de agregar una transformación

Cuando pretendas reutilizar una transformación con esquemas de actividad en una operación, siempre agrega primero las actividades a la operación, antes de agregar la transformación a la operación. El orden recomendado se demuestra en Escenarios a y b más adelante en esta página.

Cuando no sigues esta mejor práctica y en su lugar primero agregas una transformación referenciada a una operación, y luego agregas una actividad adyacente que proporciona un esquema, esto provoca que todas las instancias de la transformación referenciada se actualicen automáticamente con el nuevo esquema. Esto puede hacer que transformaciones referenciadas que antes eran válidas se vuelvan inválidas y los mapeos pueden dejar de mostrarse.

Para recuperarte de esta situación, en cada transformación referenciada afectada, abre la transformación y utiliza el enlace que aparece en el encabezado de la transformación para actualizar el esquema y crear una copia independiente de la transformación con sus esquemas originales. Los mapeos reaparecerán cuando los esquemas originales hayan sido reemplazados.

Resolver errores de mapeo

Después de actualizar un esquema de actividad desajustado en una transformación referenciada, puede que encuentres que la copia independiente de la transformación creada ha retenido mapeos que ahora son inválidos debido a campos inexistentes de la transformación referenciada anterior. Los mapeos existentes que hacen referencia a un nodo o campo de origen o destino que ya no existe ya no son visibles en la copia independiente de la transformación, ya que ya no son válidos.

Estos errores no se muestran en una transformación abierta, pero se pueden identificar desde el panel del proyecto.

Para resolver estos errores de mapeo, recomendamos eliminar todos los mapeos inválidos utilizando la opción del menú de acciones del nodo raíz de destino Eliminar todos los mapeos inválidos.

Escenarios

Estos escenarios se utilizan para describir y demostrar el proceso de referencia a una transformación que hereda un esquema de una actividad. Las transformaciones se pueden referenciar en una operación arrastrando y soltando o pegando una operación que ha sido copiada o cortada (ver Crear una referencia de componente en Reutilización de componentes).

Cada escenario se refiere a la colocación de transformaciones y actividades en el lienzo de diseño como pasos de una operación.

Todos estos escenarios se basan en una operación original que utiliza una transformación donde tanto los esquemas de solicitud como de respuesta se heredan de actividades inicialmente adyacentes.

Nota

El comportamiento en estos escenarios también se aplica al lado del esquema relevante si solo un esquema está siendo heredado por la transformación.

En la operación original (Operación Original), una actividad de consulta de Amazon Redshift (Consultar Cuentas) proporciona un esquema de solicitud y una actividad de Upsert de Amazon Redshift (Upsert Cuentas) proporciona un esquema de respuesta para la transformación (Transformación):

operación operación original válida

El orden en el que se añaden los pasos de una operación controla cómo se propagan los esquemas a través de las transformaciones y determina qué mensajes se presentan en la interfaz de usuario. La tabla a continuación resume los posibles escenarios y los pasos en los que se podría configurar una operación con una referencia de transformación. Cada escenario se describe en una sección siguiente, como se vincula en la tabla.

Escenario
Resumen Pasos
Escenario A Se añade una transformación referenciada junto a una actividad con un esquema definido
  1. Agregar una actividad a una operación donde la actividad proporciona un esquema.
  2. Agregar una transformación referenciada a la misma operación junto a esa actividad.
Escenario B Se añade una transformación referenciada junto a una actividad sin un esquema definido
  1. Agregar una actividad a una operación donde la actividad no proporciona un esquema.
  2. Agregar una transformación referenciada a la misma operación junto a esa actividad.
Escenario C Se añade una actividad con un esquema definido junto a una transformación referenciada
  1. Agregar una transformación referenciada a una operación.
  2. Agregar una actividad a la misma operación donde la actividad proporciona un esquema.
Escenario D Se añade una actividad sin un esquema definido junto a una transformación referenciada
  1. Agregar una transformación referenciada a una operación.
  2. Agregar una actividad a la misma operación donde la actividad no proporciona un esquema.

Escenario A: Transformación referenciada añadida junto a una actividad con un esquema definido

En Escenario A, se añaden primero dos nuevas actividades de Amazon Redshift a una nueva operación y se configuran completamente (a través de la finalización de sus pasos de esquema de datos): Consultar Empresas y Actualizar Personas. Luego, la transformación de Operación Original se añade como una referencia entre las dos actividades.

La referencia de transformación recién añadida es válida, sin errores de validación. Sin embargo, la operación en sí es inválida:

operación escenario a válida

El error de validación de la operación indica que los esquemas de la transformación no coinciden con las estructuras de esquema proporcionadas por las actividades adyacentes de la transformación:

Texto del diálogo

Errores de Validación

operationName
El esquema de destino de la transformación no coincide con la estructura de esquema proporcionada por la actividad activityName. Abre la transformación transformationName en la operación operationName y actualiza el esquema de destino.

El esquema de origen de la transformación no coincide con la estructura de esquema proporcionada por la actividad activityName. Abre la transformación transformationName en la operación operationName y actualiza el esquema de origen.

Corregir errores de validación

Para corregir el problema de validación de la operación, abre la transformación. Se muestra un mensaje indicando una discrepancia en el encabezado de la transformación. Haz clic en el enlace dentro del mensaje para actualizar el esquema relevante:

discrepancia de esquema objetivo anotada

Nota

Solo se muestra un mensaje a la vez. Si ambos esquemas tienen una discrepancia, utiliza el enlace en el mensaje para actualizar primero uno de los esquemas y crea una copia de la transformación (cubierto a continuación). Después de crear una copia de la transformación, se mostrará otro mensaje, que puedes usar para actualizar el otro lado del esquema.

Al hacer clic en el enlace para actualizar el esquema, se muestra un diálogo que te solicita crear una copia de la transformación como un nuevo componente independiente:

Texto del diálogo

Usar Esquema de Entrada de Actividad
Esta transformación se utiliza en más de una operación. Primero se creará una copia de la transformación y se actualizará con el esquema de la actividad. ¿Deseas continuar?

Hacer clic en Continuar separará esta transformación de otros lugares donde se hace referencia a ella y creará y abrirá un nuevo componente de transformación que utiliza esquemas definidos de acuerdo con la precedencia estándar. Es decir, la nueva transformación primero utiliza un esquema heredado de una actividad adyacente a la nueva transformación. Si no hay una actividad adyacente presente o si no se define un esquema en la actividad, la transformación utiliza un esquema definido en la nueva transformación. La nueva transformación ya no está conectada a la transformación anterior por referencia ni a ningún esquema heredado de las actividades adyacentes de la transformación anterior.

Si ambos esquemas tienen un desajuste, o si la transformación ya no es referenciada por ninguna otra operación, la transformación recién creada se generará con otro mensaje que indica un desajuste de esquema en el otro lado de la transformación. Nuevamente, haz clic en el enlace dentro del mensaje para actualizar el esquema relevante:

fuente de desajuste de esquema anotada

Un diálogo indica que el esquema actual será eliminado de la transformación y la transformación heredará el esquema de una actividad adyacente a esta transformación:

Texto del diálogo

Usar Esquema de Salida de Actividad
¿Estás seguro? Esta acción eliminará permanentemente el esquema fuente y utilizará el esquema de salida proporcionado por la actividad.

Hacer clic en Continuar actualiza el esquema en la transformación actual:

esquema de desajuste actualizado

La transformación puede quedar inválida debido a los cambios de esquema en el lado de la actividad (por ejemplo, si los campos son renombrados o ya no están presentes):

operation scenario a invalid

Mapea los campos de destino según lo desees para configurar la transformación.

Nota

Si permanecen errores de validación de transformación, puede haber mapeos existentes de la transformación referenciada anteriormente que son retenidos por la copia de la transformación, causando que la transformación sea inválida. Para resolverlo, consulta la sección Transformación de mapeos más adelante en esta página.

Scenario B: Transformación referenciada añadida junto a una actividad sin un esquema definido

En Scenario B, se añaden primero dos nuevas actividades de Variable a una nueva operación: Leer de Variable y Escribir en Variable. Cada actividad de Variable está completamente configurada con la opción de no proporcionar un esquema de datos. Luego, la transformación de Operación Original se añade como referencia entre las dos actividades.

Todos los pasos de la operación y la operación misma son válidos:

operation scenario b

En este escenario, la transformación original (Transformación) puede ser referenciada sin problemas. La transformación continúa utilizando esquemas que están definidos en las actividades de Operación Original.

Cuando abres la transformación, puedes ver de dónde provienen los esquemas, y puedes abrir cada actividad de Amazon Redshift utilizando el menú de acciones del esquema para seleccionar Editar actividad. Usar Actualizar esquema actualiza el esquema de las actividades de Operación Original:

schema mismatch schema actions menu

Scenario C: Actividad con un esquema definido añadida junto a una transformación referenciada

En Scenario C, la transformación original (Transformación) se añade primero a una nueva operación como referencia.

Luego, se añaden dos nuevas actividades de Amazon Redshift a la operación a cada lado de la transformación: Consultar Empleados y Actualizar Datos de Usuario:

escenario de operación c actividades inválidas

Cuando configuras el esquema de datos de cada actividad, la transformación adyacente, que anteriormente heredaba sus esquemas de las actividades en la Operación Original, ahora hereda sus esquemas de las actividades directamente adyacentes a la transformación. Esto afecta todas las ubicaciones donde se referencia la transformación y puede hacer que otras operaciones se vuelvan inválidas.

Al abrir cada actividad para configurarla, un diálogo lista todas las otras operaciones que hacen referencia a la transformación y que se verán afectadas:

Texto del diálogo

Actualizaciones de Transformación
Configurar la actividad actualizará la estructura de Origen y/o Destino de las siguientes transformaciones.

Estructura de Destino asociada a:

  • Operación 1

  • Operación 2

Este diálogo es informativo, ya que hacer clic en Continuar aún no actualizará la transformación. En cambio, hacer clic en Continuar te regresa a la pantalla de configuración de la actividad. Cancelar este diálogo usando la tecla Esc tiene el mismo resultado que hacer clic en Continuar. Si cierras la pantalla de configuración de la actividad sin configurar el esquema de datos, la transformación adyacente no se verá afectada, ya que la actividad permanecerá sin configurar sin un esquema de datos.

Una vez que configures la actividad con un esquema de datos, las operaciones listadas se verán afectadas.

Warning

La acción de agregar las actividades con esquemas definidos a cada lado de la transformación referenciada afecta todas las ubicaciones donde se referencia la transformación y puede hacer que otras operaciones se vuelvan inválidas.

La referencia de transformación recién agregada es inválida:

escenario de operación c transformación inválida

La operación con las actividades ahora proporcionando esquemas a la transformación es inválida porque la transformación es inválida. Sin embargo, en la transformación, no hay indicación de errores de validación de transformación:

schema mismatch invalid

Corregir errores de validación

En este escenario, la transformación es inválida debido a cambios en el esquema del lado de la actividad (por ejemplo, si los campos han sido renombrados o ya no están presentes). Para resolverlo, consulte la sección Mapas de transformación más adelante en esta página.

Además, otras operaciones que utilizan la transformación pueden haber quedado inválidas. Por ejemplo, Operación Original se vuelve automáticamente inválida, ya que su transformación ha sido alterada automáticamente para hacer referencia a los esquemas de las actividades en Escenario C:

operation original operation invalid

Para corregir errores con otras operaciones, abra la transformación en cada operación y haga clic en el enlace para actualizar el esquema que aparece en el mensaje en el encabezado de la transformación (como se describe en Escenario A, arriba).

Escenario D: Actividad sin un esquema definido añadida junto a una transformación referenciada

En Escenario D, la transformación original (Transformación) se añade primero a una nueva operación como referencia.

Luego, se añaden dos nuevas actividades de Almacenamiento Temporal a la operación a cada lado de la transformación: Leer de Almacenamiento Temporal y Escribir en Almacenamiento Temporal:

operation scenario d invalid

Al abrir cada actividad para configurarla, un diálogo implica incorrectamente que otras operaciones se verán afectadas al configurar la actividad:

Texto del diálogo

Actualizaciones de Transformación
Configurar la actividad actualizará la estructura de Origen y/o Destino de las siguientes transformaciones.

Estructura de Destino asociada a:

  • Operación 1

  • Operación 2

De hecho, si no proporciona un esquema en la configuración de la actividad, la transformación adyacente no se verá afectada. La transformación adyacente continuará heredando sus esquemas de las actividades en la Operación Original.

Advertencia

Si más tarde reconfiguras la actividad en otro momento para proporcionar un esquema en la configuración de la actividad, la transformación adyacente y cualquier otra operación donde se haga referencia se verán afectadas, aunque este diálogo no aparezca nuevamente.

Después de configurar completamente cada actividad con la opción de no proporcionar un esquema de datos, todos los pasos de operación y la operación misma son válidos:

operation scenario d valid

En este escenario, la transformación original (Transformation) puede ser referenciada sin problemas. La transformación continúa utilizando esquemas que están definidos en las actividades de Original Operation.

Cuando abres la transformación, puedes ver de dónde provienen los esquemas, y puedes abrir cada actividad de Amazon Redshift utilizando las acciones del esquema para seleccionar Editar actividad. Usar Actualizar esquema actualiza el esquema de las actividades de Original Operation:

schema mismatch schema actions menu

Transformation mappings

Independientemente de dónde se definan los esquemas de una transformación, los mapeos de transformación son propiedad de la transformación. Si el esquema de destino cambia de modo que los campos de destino con mapeos ya no están presentes, y luego esos campos se vuelven a agregar, los mapeos de transformación reaparecerán.

Los mapeos que permanecen en una transformación después de que su esquema de destino ha cambiado resultan en errores de validez de transformación si los campos mapeados ya no están presentes en un esquema.

Esto puede ocurrir cuando una transformación con mapeos que alguna vez estaba heredando sus esquemas de actividades adyacentes se referencia más tarde en otra operación con diferentes actividades adyacentes que proporcionan esquemas, como se describe en los escenarios de Escenario B y Escenario D arriba.

En este caso, un error de validación de transformación describe los campos faltantes, aunque no se muestran errores de validación en la transformación misma.

Texto del diálogo

Errores de Validación

transformationName
El mapeo se refiere a un campo de destino inexistente "targetName"

Para resolverlo, puedes eliminar todos los mapeos inválidos utilizando la opción del menú de acciones del nodo raíz de destino Eliminar todos los mapeos inválidos (ver Acciones del nodo de destino).