Filtrar a atividade nos pipelines do Azure Data Factory e do Synapse Analytics

Você pode usar uma atividade de filtro em um pipeline para aplicar uma expressão de filtro para uma matriz de entrada.

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Data Factory no Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA interna e novos recursos. Se você não estiver familiarizado com a integração de dados, comece com Fabric Data Factory. As cargas de trabalho existentes do ADF podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.

Sintaxe

{
    "name": "MyFilterActivity",
    "type": "filter",
    "typeProperties": {
        "condition": "<condition>",
        "items": "<input array>"
    }
}

Criar uma atividade de filtro com interface do usuário

Para usar uma atividade Filter em um pipeline, siga estas etapas:

  1. Você pode usar qualquer variável de tipo de matriz ou as saídas de outras atividades como a entrada para a atividade de filtro. Para criar uma variável de matriz, selecione a tela de fundo da tela do pipeline e, em seguida, selecione a guia Variáveis para adicionar uma variável de tipo de matriz, conforme mostrado abaixo.

    Mostra uma tela do pipeline vazia com uma variável do tipo matriz adicionada ao pipeline.

  2. Procure Filter no painel Atividades do pipeline e arraste uma atividade de filtro para a tela do pipeline.

  3. Selecione a nova atividade Filter na tela, se ainda não estiver selecionada, e a guia Configurações para editar os detalhes.

    Mostra a interface do usuário de uma atividade Filtro.

  4. Selecione o campo Itens e, em seguida, o link Adicionar conteúdo dinâmico para abrir o painel do editor de conteúdo dinâmico.

    Mostra o link  Adicionar conteúdo dinâmico  da propriedade Itens.

  5. Selecione a matriz de entrada a ser filtrada no editor de conteúdo dinâmico. Neste exemplo, selecionamos a variável criada na primeira etapa.

    Mostra o editor de conteúdo dinâmico com a variável criada na primeira etapa selecionada

  6. Use o editor de conteúdo dinâmico novamente para especificar uma condição de filtro para a propriedade Condition, conforme mostrado acima.

  7. Você pode usar a saída da atividade de filtro como uma entrada para outras atividades, como a atividade ForEach.

Propriedades de tipo

Propriedade Descrição Valores permitidos Obrigatório
nome Nome da atividade Filter. String Sim
tipo Deve ser definido como filtro String Sim
condition Condição a ser usada para filtragem de entrada. Expression Sim
itens Matriz de entrada na qual o filtro deve ser aplicado. Expression Sim

Exemplo

Neste exemplo, o pipeline tem duas atividades: Filter e Foreach. A atividade de filtro está configurada para filtrar a matriz de entrada de itens com um valor maior que 3. A atividade ForEach itera por meio dos valores filtrados e define a variável teste para o valor atual.

{
    "name": "PipelineName",
    "properties": {
        "activities": [{
                "name": "MyFilterActivity",
                "type": "filter",
                "typeProperties": {
                    "condition": "@greater(item(),3)",
                    "items": "@pipeline().parameters.inputs"
                }
            },
            {
            "name": "MyForEach",
            "type": "ForEach",
            "dependsOn": [
                {
                    "activity": "MyFilterActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
            ],
            "userProperties": [],
            "typeProperties": {
                "items": {
                    "value": "@activity('MyFilterActivity').output.value",
                    "type": "Expression"
                },
                "isSequential": "false",
                "batchCount": 1,
                "activities": [
                    {
                        "name": "Set Variable1",
                        "type": "SetVariable",
                        "dependsOn": [],
                        "userProperties": [],
                        "typeProperties": {
                            "variableName": "test",
                            "value": {
                                "value": "@string(item())",
                                "type": "Expression"
                            }
                        }
                    }
                ]
            }
        }],
        "parameters": {
            "inputs": {
                "type": "Array",
                "defaultValue": [1, 2, 3, 4, 5, 6]
            }
        },
        "variables": {
            "test": {
                "type": "String"
            }
        },
        "annotations": []
    }
}

Veja outras atividades de fluxo de controle com suporte: