Nós de Loop¶
Introdução¶
Nó de loop linhas iteradoras, que indicam os nós de origem e destino em cujos campos mapeados uma transformação irá iterar, são geradas automaticamente durante o processo de mapeamento, seja ao usar automapping ou quando mapear manualmente objetos de origem para campos de destino.
Normalmente, a geração automática de nós de loop durante o mapeamento é apropriada para o conjunto de dados. No entanto, quando os dados são tais que existem vários conjuntos de valores de dados repetidos — ou vários nós de loop — talvez seja necessário definir manualmente um nó de loop para forçar os dados a fazerem um loop em um nó diferente. Você também pode, se necessário, remover nós de loop, tanto aqueles que foram definidos manualmente quanto aqueles que foram gerados automaticamente.
Definir um Nó de Loop Manualmente¶
Os nós de loop podem ser definidos manualmente em nós de destino que atendam a ambas estas condições:
- A cardinalidade do nó de destino deve ser
0+
ou1+
. - Não deve haver nenhum mapeamento em campos folha diretos no nó de destino.
Além disso, a cardinalidade do nó de origem usado para criar o nó do loop de destino deve ser 0+
ou 1+
.
Para definir um nó de loop manualmente, no modo de mapeamento, arraste um nó de origem qualificado para um nó de destino qualificado:
Ao soltar o nó de origem no nó de destino, um menu é exibido. Selecione a opção Definir Nó do Loop:
O nó do loop agora está definido e a linha do iterador é exibida, indicando como a transformação percorrerá o conjunto de dados de origem. (A linha é exibida mesmo se ainda não houver nenhum mapeamento de folha direto nos campos sob o nó.) Conclua o mapeamento dos campos abaixo do nó do loop como de costume:
Remover um Nó de Loop e Mapeamentos¶
Opções para remover um nó de loop definido manualmente ou para remover qualquer nó de loop e seus mapeamentos estão disponíveis no menu de ações de um nó.
De qualquer modo de mapeamento ou modo de script, passe o mouse sobre o nome de um nó e clique no ícone do menu de ações para abrir o menu de ações. No menu, selecione uma destas opções de remoção de mapeamento:
Item do menu | Descrição |
---|---|
![]() | Remover nó de loop remove a definição do nó de loop. Esta ação está disponível apenas em nós que possuem um definido manualmente nó de loop. Para remover uma definição de nó de loop em um nó gerado automaticamente nó de loop, remova todos os seus mapeamentos de folha diretos conforme descrito em Remover um mapeamento em Mapeamento de objetos de origem. Nota Se você remover todos os mapeamentos folhas diretos de um nó de loop definido manualmente, a definição do nó de loop ainda existirá. |
![]() | Remover nó de loop e mapeamentos remove a definição do nó de loop devido a mapeamentos que são filhos folhas diretos associados ao nó de loop e remove esses mapeamentos. Quaisquer outros mapeamentos dentro de nós de loop secundários abaixo do nó de loop pai são preservados e o nó mantém sua definição de nó de loop se pelo menos um neto for mapeado. Esta ação está disponível apenas em nós que possuem um nó de loop definido (seja manualmente ou por geração automática). |
Exemplo¶
Esta seção descreve um exemplo, empregando o conector HubSpot, esse é um caso de uso em que a redefinição dos nós do loop é necessária. Neste exemplo, uma transformação de solicitação fornece filtros para usar em uma atividade HubSpot Search para consultar registros da empresa. Abaixo, primeiro mostramos a saída ao usar o nó de loop gerado automaticamente e, em seguida, mostramos como a saída muda quando o nó de loop é redefinido manualmente.
Geração Automática de Nó de Loop¶
Após o mapeamento automático e a geração automática de um nó de loop, o mapeamento de transformação mostra o loop de dados no segundo nó do destino. item
nó:
Quando o mapeamento acima é processado usando os dados de entrada abaixo, resulta nesta saída, que nivela a estrutura de entrada em uma única lista de filtros: