Definir o valor retornado do pipeline no Azure Data Factory e no Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

No paradigma de pipeline de chamada/pipeline filho, você pode usar a atividade Definir Variável para retornar valores do pipeline filho para o pipeline de chamada. No cenário a seguir, temos um pipeline filho por meio da atividade Executar Pipeline. Desejamos recuperar as informações do pipeline filho para usá-las no pipeline de chamada.

Screenshot with ExecutePipeline Activity.

Introduza o valor retornado do pipeline, um dicionário de pares chave-valor, que permite comunicações entre pipelines filho e o pipeline pai.

Pré-requisito – Como chamar um pipeline filho

Como pré-requisito, seu design precisa de uma Atividade de Pipeline de Execução chamando um pipeline filho, com a opção Esperar na Conclusão habilitada na atividade.

Screenshot setting ExecutePipeline Activity to wait for completion.

Configurar o valor retornado do pipeline no pipeline filho

Expandimos a atividade Definir Variável para incluir as variáveis do sistema Valor Retornado do Pipeline. Você não precisa defini-las no pipeline (em vez de outras variáveis usadas no pipeline).

  1. Pesquise Definir Variável no painel Atividades do pipeline e arraste uma atividade Set Variable para a tela do pipeline.
  2. Selecione a atividade Definir Variável na telam se ela ainda não estiver selecionada, e a respectiva guia Variáveis, para editar os detalhes.
  3. Escolha Valor retornado do pipeline como o tipo de variável.
  4. Escolha Novo para adicionar um novo par chave-valor.
  5. O número de pares chave-valor que podem ser adicionados é limitado apenas pelo limite de tamanho do JSON retornado (4MB).

Screenshot shows the ui for pipeline return value.

Há algumas opções para tipos de valores, incluindo

Nome do Tipo Descrição
String Um valor de cadeia de caracteres constante. por exemplo: 'ADF é incrível'
Expression Ele permite que você referencie a saída das atividades anteriores. Você pode usar a interpolação de cadeia de caracteres aqui para incluir valores de expressão em linha, como "The value is @{guid()}".
Array Ele espera uma matriz de valores de cadeia de caracteres. Pressione a tecla "ENTER" para separar os valores na matriz
Boolean Verdadeiro ou Falso
Null Status do espaço reservado de sinal. O valor é um nulo constante
Int Um valor numérico do tipo inteiro. Por exemplo, 42
Float Um valor numérico do tipo float. Por exemplo: 2,71828
Objeto Aviso: somente casos de uso complicados. Ele permite que você insira uma lista de tipos de pares chave-valor para o valor

O valor do tipo de objeto é definido da seguinte maneira:

[{"key": "myKey1", "value": {"type": "String", "content": "hello world"}}, 
 {"key": "myKey2", "value": {"type": "String", "content": "hi"}}
]

Como recuperar o valor no pipeline de chamada

O valor retornado do pipeline filho do pipeline passa a ser a saída da atividade Executar Pipeline. Recupere as informações com @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. O caso de uso é ilimitado. Por exemplo, você poderá usar

Screenshot shows the calling pipeline.

Há dois textos explicativos perceptíveis na referência aos valores de retorno do pipeline.

  1. Com o tipo Object, você pode expandi-lo ainda mais para o objeto JSON aninhado, como @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
  2. Com o tipo Array, você pode especificar o índice na lista, com @activity('Execute Pipeline1').output.pipelineReturnValue.keyName[0]. O número é zero indexado, o que significa que ele começa com 0.

Observação

Verifique se o keyName que você está referenciando existe no pipeline filho. O construtor de expressões ADF não pode confirmar a verificação referencial para você. O pipeline falhará se a chave referenciada estiver ausente na carga útil

Considerações especiais

Embora você possa incluir várias atividades Set Pipeline Return Value em um pipeline, é importante garantir que apenas uma delas seja executada no pipeline.

Screenshot with Pipeline Return Value and Branching.

Para evitar a situação de chave ausente no pipeline de chamada, descrita acima, recomendamos que você tenha a mesma lista de chaves para todas as ramificações no pipeline filho. Considere o uso de tipos nulos para as chaves que não têm valores em um branch específico.

Saiba mais sobre outra atividade de fluxo de controle relacionada: