Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 de chamadas entre pipelines, 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 através da Atividade Executar Pipeline. E queremos recuperar informações do subpipeline para depois serem utilizadas no pipeline de chamadas.
Introduza o valor de retorno do pipeline, um dicionário de pares chave-valor, que permite a comunicação entre os pipelines filho e pai.
Pré-requisito - Chamando um pipeline filho
Como pré-requisito, o seu design precisa de uma Atividade Executar Pipeline chamando um pipeline filho, com Aguardar a Conclusão habilitado na atividade.
Configurar o valor de retorno do pipeline no pipeline filho
Expandimos a atividade Set Variable para incluir variáveis do sistema Pipeline Return Value. Você não precisa defini-los no nível do pipeline (ao contrário de quaisquer outras variáveis que você usa no pipeline).
- Procure por 'Definir Variável' no painel de Atividades do pipeline e arraste uma atividade 'Definir Variável' para o canvas do pipeline.
- Selecione a atividade Definir Variável no painel, se ainda não estiver selecionada, e, em seguida, a guia Variáveis para editar os seus detalhes.
- Escolha Valor de retorno de pipeline para o tipo de variável.
- Selecione Novo para adicionar um novo par de valores de chave.
- O número de pares chave-valor que podem ser adicionados é limitado apenas pelo limite de tamanho do JSON retornado (4 MB).
Existem algumas opções para tipos de valor, incluindo
Nome do tipo | Descrição |
---|---|
Cadeia | Um valor de cadeia de caracteres constante. por exemplo: 'ADF é incrível' |
Expressão | 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 | Espera uma matriz de valores de string. Pressione a tecla "enter" para separar os valores na matriz |
Booleano | Verdadeiro ou Falso |
Nulo | Indicar o estado do espaço reservado; o valor é constantemente nulo null |
Int | Um valor numérico do tipo inteiro. Por exemplo: 42 |
Flutuar | 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, você pode 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.
- Uma carga útil de valor de expressão para uma atividade de script para fins de registro.
Existem dois destaques percetíveis na referência aos valores de retorno do pipeline.
- Com o tipo de objeto, consegue expandir ainda mais no objeto JSON aninhado, como @activity('Execute Pipeline1').output.pipelineReturnValue.keyName.nextLevelKey
- Com o tipo Array, podes 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 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 seja possível incluir várias atividades Set Pipeline Return Value num pipeline, é importante garantir que apenas uma delas seja executada no mesmo.
Para evitar o problema da chave ausente descrito anteriormente ao chamar o pipeline, recomendamos que 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.
A linguagem de expressão do Azure Data Factory não oferece suporte direto a objetos JSON embutidos. Em vez disso, é necessário concatenar cadeias de caracteres e expressões corretamente.
Por exemplo, para a seguinte expressão JSON:
{ "datetime": "@{utcnow()}", "date": "@{substring(utcnow(),0,10)}", "year": "@{substring(utcnow(),0,4)}", "month": "@{substring(utcnow(),5,2)}", "day": "@{substring(utcnow(),8,2)}" }
Uma expressão equivalente do Azure Data Factory seria:
@{ concat( '{', '"datetime": "', utcnow(), '", ', '"date": "', substring(utcnow(),0,10), '", ', '"year": "', substring(utcnow(),0,4), '", ', '"month": "', substring(utcnow(),5,2), '", ', '"day": "', substring(utcnow(),8,2), '"', '}' ) }
Conteúdos relacionados
Saiba mais sobre outra atividade de fluxo de controle relacionada: