Share via


Definir valor de retorno de pipeline no Azure Data Factory e no Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

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

No paradigma pipeline-child pipeline de chamada, você pode usar a atividade set Variable para retornar valores do pipeline filho para o pipeline de chamada. No cenário a seguir, temos um pipeline filho por meio da Atividade de Pipeline de Execução. E queremos recuperar informações do pipeline filho para depois serem usadas no pipeline de chamadas.

Screenshot with ExecutePipeline Activity.

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

Pré-requisito - Chamando um pipeline filho

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

Screenshot setting ExecutePipeline Activity to wait for completion.

Configurar o valor de retorno do pipeline no pipeline filho

Expandimos a atividade Definir variável para incluir variáveis do sistema Valor de retorno do pipeline. Você não precisa defini-los no nível do pipeline (ao contrário de quaisquer outras variáveis que você usa no pipeline).

  1. Procure Definir variável no painel Atividades do pipeline e arraste uma atividade Definir variável para a tela do pipeline.
  2. Selecione a atividade Definir variável na tela, se ainda não estiver selecionada, e, em seguida, a guia Variáveis para editar seus detalhes.
  3. Escolha Valor de retorno de pipeline para o tipo de variável.
  4. Selecione Novo para adicionar um novo par de valores de chave.
  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.

Existem algumas opções para tipos de valor, incluindo

Nome do tipo Description
String Um valor de cadeia de caracteres constante. por exemplo: 'ADF é incrível'
Expression Ele permite que você faça referência a resultados de 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()}".
Matriz Ele espera uma matriz de valores de cadeia de caracteres. Pressione a tecla "enter" para separar os valores na matriz
Boolean Verdadeiro ou Falso
Nulo Status do espaço reservado para sinal; o valor é 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
Object Aviso apenas casos de uso complicados. Ele permite que você incorpore uma lista de pares de valores de chave para o valor

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

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

Recuperando valor no pipeline de chamadas

O valor de retorno do pipeline filho torna-se a saída da atividade da Execute Pipeline Activity. Você pode recuperar as informações com @activity('Execute Pipeline1').output.pipelineReturnValue.keyName. O caso de uso é ilimitado. Por exemplo, pode utilizar

  • Um valor int do pipeline filho para definir o período de espera para uma atividade de espera
  • Um valor de cadeia de caracteres para definir a URL para a atividade da Web
  • Uma carga útil de valor de expressão para uma atividade de script para fins de registro.

Screenshot shows the calling pipeline.

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

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

Nota

Certifique-se de que o keyName que você está referenciando existe no pipeline do seu filho. O construtor de expressões do 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 chaves que não têm valores, em uma ramificação específica.

Saiba mais sobre outra atividade de fluxo de controle relacionada: