Ir para o conteúdo

Reutilização de transformações no Jitterbit Integration Studio

Introdução

Como uma transformação pode ser referenciada como um passo de operação em múltiplas operações ao mesmo tempo, é importante entender as ramificações e a complexidade por trás da reutilização de transformações.

O processo envolvido na referência a uma transformação depende se o esquema é definido em uma transformação ("propriedade da transformação") ou herdado de uma atividade ("propriedade da atividade"):

  • Esquemas de propriedade da transformação: Quando um esquema é definido diretamente em uma transformação, ele é de propriedade da transformação e pode ser referenciado por outras transformações, conforme descrito em Reutilização de componentes.
  • Esquemas de propriedade da atividade: Ao contrário dos esquemas de propriedade da transformação, quando você referencia uma transformação que herda pelo menos um esquema de uma atividade, a ordem em que os passos de uma operação são configurados controla como os esquemas são propagados através das referências de transformação e determina quais mensagens são apresentadas na interface do usuário. Essas mensagens ajudam você a escolher quais esquemas usar e facilitam a criação de uma nova transformação quando apropriado. Após referenciar uma transformação, pode ser necessário atualizar os esquemas na transformação original ou referenciada para resolver erros de validação, conforme descrito nesta página.

Como esta página é suplementar a Reutilização de componentes, ela não repete as informações contidas naquela página. Consulte Reutilização de componentes para as definições da terminologia de reutilização de componentes e como copiar, cortar e colar componentes (incluindo transformações).

Ao referenciar uma transformação, é útil ter em mente que tanto a transformação original quanto a nova transformação referenciada se referem ao mesmo componente. Quaisquer alterações em uma das transformações afetam todas as instâncias da transformação referenciada, incluindo alterações na forma como os esquemas são definidos. Se uma transformação herda um esquema de uma atividade adjacente, e você então cria uma referência a essa transformação em outra operação, a nova transformação referenciada conterá uma referência ao esquema original, apesar da atividade não estar adjacente à transformação referenciada.

Quando isso ocorrer, você deve retificar as alterações atualizando os esquemas e resolvendo quaisquer erros de validação.

Caso de uso

O caso de uso pretendido para poder reutilizar uma transformação que herda esquemas de propriedade da atividade é quando você tem várias fontes onde deseja usar mapeamentos semelhantes para o mesmo destino.

Por exemplo, você pode ter dados de origem fornecidos por meio de esquemas de propriedade da atividade tanto no Endpoint A quanto no Endpoint B. Se a estrutura dos dados de origem for semelhante, você pode querer reutilizar os mapeamentos de transformação antes de chegar ao destino do Endpoint C. Nesse caso, você pode primeiro criar a operação usando o Endpoint A como fonte e, em seguida, copiar sua transformação para reutilizar em outra operação usando o Endpoint B como fonte.

Embora também seja possível reutilizar uma transformação que herda um esquema de destino de propriedade da atividade, quaisquer mapeamentos de transformação originais serão removidos de uma nova cópia da transformação que é criada quando o esquema de destino é atualizado.

Melhores práticas

Recomendamos seguir estas melhores práticas ao reutilizar transformações que herdam pelo menos um esquema de uma atividade.

Adicione atividades antes de adicionar uma transformação

Quando você pretende reutilizar uma transformação com esquemas de propriedade da atividade em uma operação, sempre adicione as atividades à operação primeiro, antes de adicionar a transformação à operação. A ordem recomendada é demonstrada pelos Cenários a e b mais adiante nesta página.

Quando você não segue esta melhor prática e, em vez disso, primeiro adiciona uma transformação referenciada a uma operação e, em seguida, adiciona uma atividade adjacente que fornece um esquema, isso faz com que todas as instâncias da transformação referenciada sejam automaticamente atualizadas com o novo esquema. Isso pode fazer com que transformações referenciadas anteriormente válidas se tornem inválidas e os mapeamentos podem não ser mais exibidos.

Para se recuperar dessa situação, em cada transformação referenciada afetada, abra a transformação e use o link que aparece no cabeçalho da transformação para atualizar o esquema e criar uma cópia independente da transformação com seus esquemas originais. Os mapeamentos reaparecerão quando os esquemas originais tiverem sido substituídos.

Resolve erros de mapeamento

Após atualizar um esquema de atividade com discrepância em uma transformação referenciada, pode-se perceber que a cópia independente da transformação criada manteve mapeamentos que agora são inválidos devido a campos inexistentes da transformação referenciada anterior. Mapeamentos existentes que referenciam um nó ou campo de origem ou destino que não existe mais não são mais visíveis na cópia independente da transformação, pois não são mais válidos.

Esses erros não são exibidos em uma transformação aberta, mas podem ser identificados no painel do projeto.

Para resolver esses erros de mapeamento, recomendamos remover todos os mapeamentos inválidos usando a opção do menu de ações do nó raiz de destino Remover todos os mapeamentos inválidos.

Cenários

Esses cenários são usados para descrever e demonstrar o processo de referência a uma transformação que herda um esquema de uma atividade. Transformações podem ser referenciadas em uma operação arrastando e soltando ou colando uma operação que foi copiada ou cortada (veja Criar uma referência de componente em Reutilização de componentes).

Cada cenário refere-se à colocação de transformações e atividades na tela de design como etapas de uma operação.

Todos esses cenários são baseados em uma operação original que utiliza uma transformação onde tanto os esquemas de solicitação quanto de resposta são herdados de atividades inicialmente adjacentes.

Nota

O comportamento nesses cenários também se aplica ao lado do esquema relevante se apenas um esquema estiver sendo herdado pela transformação.

Na operação original (Operação Original), uma atividade de Consulta do Amazon Redshift (Consultar Contas) fornece um esquema de solicitação e uma atividade de Upsert do Amazon Redshift (Upsertar Contas) fornece um esquema de resposta para a transformação (Transformação):

operation original operation valid

A ordem na qual os passos de uma operação são adicionados controla como os esquemas são propagados através das transformações e determina quais mensagens são apresentadas na interface do usuário. A tabela abaixo resume os possíveis cenários e os passos em que uma operação com uma referência de transformação poderia ser configurada. Cada cenário é descrito em uma seção seguinte, conforme vinculado na tabela.

Cenário
Resumo Passos
Cenário A Uma transformação referenciada é adicionada ao lado de uma atividade com um esquema definido
  1. Adicione uma atividade a uma operação onde a atividade fornece um esquema.
  2. Adicione uma transformação referenciada à mesma operação ao lado dessa atividade.
Cenário B Uma transformação referenciada é adicionada ao lado de uma atividade sem um esquema definido
  1. Adicione uma atividade a uma operação onde a atividade não fornece um esquema.
  2. Adicione uma transformação referenciada à mesma operação ao lado dessa atividade.
Cenário C Uma atividade com um esquema definido é adicionada ao lado de uma transformação referenciada
  1. Adicione uma transformação referenciada a uma operação.
  2. Adicione uma atividade à mesma operação onde a atividade fornece um esquema.
Cenário D Uma atividade sem um esquema definido é adicionada ao lado de uma transformação referenciada
  1. Adicione uma transformação referenciada a uma operação.
  2. Adicione uma atividade à mesma operação onde a atividade não fornece um esquema.

Cenário A: Transformação referenciada adicionada ao lado de uma atividade com um esquema definido

No Cenário A, duas novas atividades do Amazon Redshift são primeiro adicionadas a uma nova operação e totalmente configuradas (através da conclusão de suas etapas de esquema de dados): Consultar Empresas e Upsert Pessoas. Em seguida, a transformação da Operação Original é adicionada como uma referência entre as duas atividades.

A referência de transformação recém-adicionada é válida, sem erros de validação. No entanto, a operação em si é inválida:

operation scenario a valid

O erro de validação da operação indica que os esquemas da transformação não correspondem às estruturas de esquema fornecidas pelas atividades adjacentes da transformação:

Texto do diálogo

Erros de Validação

operationName
O esquema de destino da transformação não corresponde à estrutura de esquema fornecida pela atividade activityName. Abra a transformação transformationName na operação operationName e atualize o esquema de destino.

O esquema de origem da transformação não corresponde à estrutura de esquema fornecida pela atividade activityName. Abra a transformação transformationName na operação operationName e atualize o esquema de origem.

Corrigir erros de validação

Para corrigir o problema de validação da operação, abra a transformação. Uma mensagem indicando uma incompatibilidade é exibida no cabeçalho da transformação. Clique no link dentro da mensagem para atualizar o esquema relevante:

schema mismatch target annotated

Nota

Apenas uma mensagem é exibida por vez. Se ambos os esquemas tiverem uma incompatibilidade, use o link na mensagem para atualizar primeiro um dos esquemas e crie uma cópia da transformação (coberto abaixo). Após criar uma cópia da transformação, outra mensagem será exibida, que você pode usar para atualizar o outro lado do esquema.

Ao clicar no link para atualizar o esquema, um diálogo é exibido solicitando que você crie uma cópia da transformação como um novo componente independente:

Texto do diálogo

Usar Esquema de Entrada da Atividade
Esta transformação é utilizada em mais de uma operação. Uma cópia da transformação será criada primeiro e atualizada com o esquema da atividade. Você deseja continuar?

Clicar em Continuar separará esta transformação de outros locais onde ela é referenciada e criará e abrirá um novo componente de transformação que utiliza esquemas definidos de acordo com a precedência padrão. Ou seja, a nova transformação usa primeiro um esquema herdado de uma atividade adjacente à nova transformação. Se não houver atividade adjacente presente ou se um esquema não estiver definido na atividade, a transformação usará um esquema definido na nova transformação. A nova transformação não está mais conectada à transformação anterior por referência ou a quaisquer esquemas herdados pelas atividades adjacentes da transformação anterior.

Se ambos os esquemas tiverem uma incompatibilidade, ou se a transformação não for mais referenciada por outras operações, a nova transformação será criada com outra mensagem indicando uma incompatibilidade de esquema do outro lado da transformação. Novamente, clique no link dentro da mensagem para atualizar o esquema relevante:

esquema incompatível fonte anotada

Um diálogo indica que o esquema atual será removido da transformação e a transformação herdará o esquema de uma atividade adjacente a esta transformação:

Texto do diálogo

Usar Esquema de Saída da Atividade
Você tem certeza? Esta ação removerá permanentemente o esquema de origem e usará o esquema de saída fornecido pela atividade.

Clicar em Continuar atualiza o esquema na transformação atual:

esquema incompatível atualizado

A transformação pode então estar inválida devido às mudanças de esquema do lado da atividade (por exemplo, se campos forem renomeados ou não estiverem mais presentes):

operation scenario a invalid

Mapeie os campos de destino conforme desejado para configurar a transformação.

Nota

Se erros de validação da transformação permanecerem, pode haver mapeamentos existentes da transformação referenciada anteriormente que são retidos pela cópia da transformação, tornando-a inválida. Para resolver, consulte a seção Mapeamentos de transformação mais adiante nesta página.

Cenário B: Transformação referenciada adicionada ao lado de uma atividade sem um esquema definido

No Cenário B, duas novas atividades de Variável são primeiro adicionadas a uma nova operação: Ler de Variável e Gravar em Variável. Cada atividade de Variável é totalmente configurada com a opção de não fornecer um esquema de dados. Em seguida, a transformação da Operação Original é adicionada como uma referência entre as duas atividades.

Todos os passos da operação e a própria operação são válidos:

operation scenario b

Neste cenário, a transformação original (Transformação) pode ser referenciada sem problemas. A transformação continua a usar esquemas que estão definidos nas atividades da Operação Original.

Quando você abre a transformação, pode ver de onde os esquemas estão vindo e pode abrir cada atividade do Amazon Redshift usando o menu de ações do esquema para selecionar Editar atividade. Usar Atualizar esquema atualiza o esquema a partir das atividades da Operação Original:

schema mismatch schema actions menu

Cenário C: Atividade com um esquema definido adicionada ao lado de uma transformação referenciada

No Cenário C, a transformação original (Transformação) é primeiro adicionada a uma nova operação como uma referência.

Duas novas atividades do Amazon Redshift são então adicionadas à operação de cada lado da transformação: Consultar Funcionários e Inserir Dados do Usuário:

cenário de operação c atividades inválidas

Ao configurar o esquema de dados de cada atividade, a transformação adjacente, que anteriormente herdava seus esquemas das atividades na Operação Original, agora herda seus esquemas das atividades diretamente adjacentes à transformação. Isso afeta todos os locais onde a transformação é referenciada e pode fazer com que outras operações se tornem inválidas.

Ao abrir cada atividade para configurá-la, uma caixa de diálogo lista todas as outras operações que referenciam a transformação e serão afetadas:

Texto da caixa de diálogo

Atualizações de Transformação
Configurar a atividade atualizará a estrutura de Origem e/ou Destino das seguintes transformações.

Estrutura de Destino associada a:

  • Operação 1

  • Operação 2

Esta caixa de diálogo é informativa, pois clicar em Continuar ainda não atualizará a transformação. Em vez disso, clicar em Continuar retorna você à tela de configuração da atividade. Cancelar esta caixa de diálogo usando a tecla Esc tem o mesmo resultado que clicar em Continuar. Se você fechar a tela de configuração da atividade sem configurar o esquema de dados, a transformação adjacente não será afetada, pois a atividade permanecerá não configurada sem um esquema de dados.

Uma vez que você configure a atividade com um esquema de dados, as operações listadas são afetadas.

Aviso

A ação de adicionar as atividades com esquemas definidos em ambos os lados da transformação referenciada afeta todos os locais onde a transformação é referenciada e pode fazer com que outras operações se tornem inválidas.

A nova referência de transformação adicionada é inválida:

cenário de operação c transformação inválida

A operação com as atividades agora fornecendo esquemas para a transformação é inválida porque a transformação é inválida. No entanto, na transformação, não há indicação de erros de validação da transformação:

schema mismatch invalid

Corrigir erros de validação

Neste cenário, a transformação é inválida devido a alterações no esquema do lado da atividade (por exemplo, se campos foram renomeados ou não estão mais presentes). Para resolver, consulte a seção Mapeamentos de transformação mais adiante nesta página.

Além disso, outras operações que utilizam a transformação podem ter se tornado inválidas. Por exemplo, a Operação Original automaticamente se torna inválida, pois sua transformação foi alterada automaticamente para agora referenciar os esquemas das atividades em Cenário C:

operation original operation invalid

Para corrigir erros com outras operações, abra a transformação em cada operação e clique no link para atualizar o esquema que aparece na mensagem no cabeçalho da transformação (conforme descrito em Cenário A, acima).

Cenário D: Atividade sem um esquema definido adicionada ao lado de uma transformação referenciada

No Cenário D, a transformação original (Transformação) é primeiro adicionada a uma nova operação como referência.

Duas novas atividades de Armazenamento Temporário são então adicionadas à operação em cada lado da transformação: Ler do Armazenamento Temporário e Escrever no Armazenamento Temporário:

operation scenario d invalid

Ao abrir cada atividade para configurá-la, uma caixa de diálogo implica incorretamente que outras operações serão afetadas pela configuração da atividade:

Texto da caixa de diálogo

Atualizações de Transformação
Configurar a atividade atualizará a estrutura de Fonte e/ou Destino das seguintes transformações.

Estrutura de Destino associada a:

  • Operação 1

  • Operação 2

Na verdade, se você não fornecer um esquema na configuração da atividade, a transformação adjacente não será afetada. A transformação adjacente continuará a herdar seus esquemas das atividades na Operação Original.

Aviso

Se você reconfigurar a atividade em outro momento para fornecer um esquema na configuração da atividade, a transformação adjacente e quaisquer outras operações onde ela é referenciada serão afetadas, embora este diálogo não apareça novamente.

Após configurar completamente cada atividade com a opção de não fornecer um esquema de dados, todos os passos da operação e a própria operação são válidos:

operation scenario d valid

Neste cenário, a transformação original (Transformation) pode ser referenciada sem problemas. A transformação continua a usar esquemas que são definidos nas atividades da Original Operation.

Quando você abre a transformação, pode ver de onde os esquemas estão vindo e pode abrir cada atividade do Amazon Redshift usando as ações do esquema para selecionar Editar atividade. Usar Atualizar esquema atualiza o esquema a partir das atividades da Original Operation:

schema mismatch schema actions menu

Transformation mappings

Independentemente de onde os esquemas de uma transformação são definidos, mapeamentos de transformação pertencem à transformação. Se o esquema de destino mudar de forma que os campos de destino com mapeamentos não estejam mais presentes, e esses campos forem posteriormente re-adicionados, os mapeamentos da transformação reaparecerão.

Mapeamentos que permanecem em uma transformação após a mudança de seu esquema de destino resultam em erros de validade da transformação se os campos mapeados não estiverem mais presentes em um esquema.

Isso pode ocorrer quando uma transformação com mapeamentos que estava uma vez herdando seus esquemas de atividades adjacentes é posteriormente referenciada em outra operação com diferentes atividades adjacentes fornecendo esquemas, conforme descrito nos cenários de Cenário B e Cenário D acima.

Neste caso, um erro de validação de transformação descreve os campos ausentes, embora nenhum erro de validação seja exibido na própria transformação.

Texto do diálogo

Erros de Validação

transformationName
O mapeamento refere-se a um campo de destino inexistente "targetName"

Para resolver, você pode remover todos os mapeamentos inválidos usando a opção do menu de ações do nó raiz de destino Remover todos os mapeamentos inválidos (veja Ações do nó de destino).