Implementar e gerenciar uma solução de análise
11. Orquestração — parâmetros, expressões e dependências
Um fluxo reutilizável precisa saber qual lote tratar, onde encontrar os dados e o que fazer quando uma etapa falha. A orquestração transforma essas decisões em um contrato executável. Parâmetros descrevem a entrada; expressões calculam propriedades; dependências preservam a ordem necessária para produzir um resultado consistente.
Um fluxo reutilizável precisa saber qual lote tratar, onde encontrar os dados e o que fazer quando uma etapa falha. A orquestração transforma essas decisões em um contrato executável. Parâmetros descrevem a entrada; expressões calculam propriedades; dependências preservam a ordem necessária para produzir um resultado consistente.
Parâmetros, variáveis e tipos
Parâmetros são entradas da execução. Uma data, um caminho ou uma lista de tabelas podem variar entre execuções sem exigir edição da definição. Variáveis representam estado temporário que o fluxo pode atualizar. Tentar mudar um parâmetro durante a execução confunde configuração inicial com estado mutável e dificulta reproduzir o comportamento.
Os tipos importam. Um objeto JSON permite navegar por propriedades; uma string contendo JSON é texto e precisa de interpretação apropriada antes desse acesso. string() produz representação textual e json() interpreta uma string JSON válida. Expressões, interpolação e propriedades de atividade devem ser usadas conforme o tipo esperado pelo destino, sem supor que uma aparência semelhante representa o mesmo valor.
Uma expressão pode devolver número, booleano, objeto ou texto, e a propriedade de destino pode exigir um deles especificamente. O valor textual true não deve ser tratado automaticamente como o booleano verdadeiro sem conhecer a conversão aplicada. Ao montar caminhos com concat, confira barras e formato da data. Ao navegar em uma saída JSON, confirme se o resultado é objeto ou coleção e se a propriedade existe. Testes pequenos com entradas conhecidas permitem verificar a expressão isoladamente antes de atribuir uma falha ao conector ou ao destino.
Expressões que preservam significado
utcNow() representa o instante atual da avaliação; não é necessariamente o período lógico do lote. formatDateTime() altera a representação de uma data, e uriComponent() codifica conteúdo para compor uma URI. Usar trim() remove espaços nas extremidades sem eliminar os espaços internos. Essas funções resolvem problemas diferentes. O identificador RunId permite correlação da tentativa; valores como nome do pipeline e horário do gatilho acrescentam contexto, mas não substituem a chave de negócio do lote.
Coleções, Lookup e repetição
Lookup pode fornecer um registro ou uma coleção, conforme sua configuração. Verifique a forma da saída antes de conectá-la a ForEach. O limite documentado de 5.000 linhas e o limite de tamanho da saída exigem dividir entradas grandes; uma tabela de controle extensa não pode ser assumida como integralmente retornada por uma única chamada.
Filter seleciona elementos de uma coleção e ForEach processa os elementos recebidos. Batch count limita simultaneidade, não a quantidade lógica total nem o número de tentativas de cada elemento. Em execução paralela, evite usar uma variável compartilhada como acumulador sem um desenho que preserve consistência. Itens independentes ainda podem disputar a mesma fonte ou tabela de destino.
Continue lendo de graça
O capítulo inteiro está liberado no plano gratuito
Criar conta leva menos de um minuto e não pede cartão. Você destrava o texto completo, o mapa mental, o PDF para estudar off-line e ainda resolve questões inéditas todo dia.
Leu o resumo? Agora pratique.
São 154 questões inéditas de Orquestração — parâmetros, expressões e dependências, todas comentadas alternativa por alternativa.
Você volta para este capítulo depois de criar a conta.
Fontes consultadas
- https://learn.microsoft.com/en-us/fabric/data-factory/expression-language
- https://learn.microsoft.com/en-us/fabric/data-engineering/notebookutils/notebookutils-notebook-run
- https://learn.microsoft.com/en-us/fabric/data-factory/lookup-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/parameters
- https://learn.microsoft.com/en-us/fabric/data-factory/filter-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/foreach-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/until-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/pipeline-overview
- https://learn.microsoft.com/en-us/fabric/data-factory/fail-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/wait-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/if-condition-activity
- https://learn.microsoft.com/en-us/fabric/data-factory/activity-retries
- https://learn.microsoft.com/en-us/fabric/data-factory/pipeline-runs
- https://learn.microsoft.com/en-us/fabric/data-factory/pipeline-storage-event-triggers