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.
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 Execute Pipeline chamando um pipeline filho, com o Aguarde a conclusão habilitado na atividade.
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).
- Pesquise Definir Variável no painel Atividades do pipeline e arraste uma atividade Set Variable para a tela do pipeline.
- 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.
- Escolha Valor retornado do pipeline como o tipo de variável.
- Escolha Novo para adicionar um novo par chave-valor.
- O número de pares chave-valor que podem ser adicionados é limitado apenas pelo limite de tamanho do JSON retornado (4 MB).
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
- 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
- Um conteúdo de valor de expressão para uma atividade de script para fins de log.
Há duas notificações importantes na referência dos valores retornados do pipeline.
- Com o tipo Object, você pode expandi-lo ainda mais para o objeto JSON aninhado, como @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- 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 do ADF não pode confirmar a verificação referencial para você. O Pipeline falhará se a chave referenciada estiver ausente no conteúdo
Considerações especiais
Embora seja possível incluir várias atividades Definir o Valor Retornado do Pipeline em um pipeline, é importante garantir que apenas uma delas seja executada no pipeline.
Para evitar o problema de chave ausente descrito anteriormente ao chamar o pipeline, é recomendável ter 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.
Conteúdo relacionado
Saiba mais sobre outra atividade de fluxo de controle relacionada: