(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como usar a atividade If Condition no Azure Data Factory

João Barros 16 de July de 2026 4 min de leitura

A atividade If Condition no Azure Data Factory permite ramificar um pipeline com base numa condição que dá verdadeiro ou falso, tal como um if numa linguagem de programação. É a forma mais simples de garantir que certas atividades só correm quando uma regra é cumprida — por exemplo, copiar dados apenas quando existem ficheiros novos numa pasta. É uma atividade de controlo de fluxo essencial e configura-se toda no Azure Data Factory Studio, sem escrever código.

Pré-requisitos

  • Uma instância de Azure Data Factory já criada e acesso ao Azure Data Factory Studio.
  • Um pipeline, novo ou existente, onde possas adicionar atividades.
  • Conhecer o essencial do canvas do pipeline: arrastar atividades e ligá-las.
  • Opcional: uma atividade Get Metadata, se quiseres decidir com base no número de ficheiros.

Passo 1: Adicionar a atividade If Condition ao pipeline

No Azure Data Factory Studio, abre o teu pipeline. No painel Activities, à esquerda, escreve If na caixa de pesquisa e arrasta a atividade If Condition para o canvas. No separador General, dá-lhe um nome claro, por exemplo Check_Files, para que a lógica do pipeline fique fácil de ler.

Passo 2: Definir a expressão verdadeiro/falso

Seleciona a atividade e abre o separador Activities. No campo Expression, clica em Add dynamic content e escreve uma expressão que devolva um valor booleano. A linguagem de expressões do ADF começa sempre por @. Um exemplo simples, baseado num parâmetro do pipeline (que defines no separador Parameters):

@greater(pipeline().parameters.numeroFicheiros, 0)

Esta expressão é verdadeira quando o parâmetro numeroFicheiros é maior do que zero. Também podes comparar texto — por exemplo, correr o ramo verdadeiro apenas no ambiente de produção:

@equals(pipeline().parameters.ambiente, 'prod')

Podes ainda combinar condições com as funções and, or e not para regras mais completas.

Passo 3: Construir o ramo verdadeiro (True)

Ainda no separador Activities, carrega no ícone do lápis da secção True (Edit activities). O canvas muda para um contentor onde colocas as atividades que devem correr quando a condição é verdadeira. Arrasta, por exemplo, uma atividade Copy data para copiar os ficheiros. Para voltar ao pipeline principal, usa a trilha de navegação (breadcrumb) no topo do canvas.

Passo 4: Construir o ramo falso (False)

Repete o processo na secção False: carrega no lápis e adiciona as atividades para quando a condição não se cumpre. Um padrão comum é colocar aqui uma atividade Wait curta ou uma que apenas regista uma mensagem. Não és obrigado a preencher os dois ramos — se não precisares do caso falso, podes deixá-lo vazio.

Passo 5: Um exemplo real com Get Metadata

Um uso muito frequente é decidir com base no conteúdo de uma pasta. Se tiveres uma atividade Get Metadata a devolver a lista childItems, liga-a antes do If Condition e usa esta expressão:

@greater(length(activity('Get Metadata1').output.childItems), 0)

Assim, o ramo verdadeiro só corre quando a pasta tem pelo menos um ficheiro, evitando execuções desnecessárias.

Atenção a uma limitação importante: não podes colocar uma atividade If Condition (nem uma Switch) dentro de outra If Condition ou Switch. Podes, no entanto, usá-las dentro de uma ForEach ou Until.

Como fica em JSON

Se abrires a vista de código do pipeline, a atividade tem esta forma mínima, com a expressão e as duas listas ifTrueActivities e ifFalseActivities:

{
  "name": "Check_Files",
  "type": "IfCondition",
  "typeProperties": {
    "expression": {
      "value": "@greater(pipeline().parameters.numeroFicheiros, 0)",
      "type": "Expression"
    },
    "ifTrueActivities": [],
    "ifFalseActivities": []
  }
}

Verificar o resultado

Carrega em Debug para executar o pipeline. No painel Output, vês a atividade If Condition e qual dos ramos foi executado. Testa os dois casos: muda o valor do parâmetro (ou o conteúdo da pasta) para forçar primeiro o resultado verdadeiro e depois o falso, e confirma que corre o ramo certo em cada situação.

Conclusão

Com a atividade If Condition ganhas controlo de fluxo no pipeline sem escrever código. A partir daqui, experimenta combiná-la com a ForEach para decidir dentro de um ciclo, ou usa a atividade Switch quando tiveres mais do que dois caminhos possíveis. Uma dica final: dá sempre nomes descritivos às atividades, para que a lógica do pipeline se leia quase como uma frase. Que condição vais querer testar primeiro no teu próximo pipeline?