Partilhar via


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

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

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!

Sintaxe

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

Criar uma atividade de filtro com a interface do usuário

Para usar uma atividade de Filtro em um pipeline, conclua as seguintes etapas:

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

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

  2. Procure Filtro no painel Atividades do pipeline e arraste uma atividade Filtro para a tela do pipeline.

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

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

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

    Mostra o   Adicionar conteúdo dinâmico  link para a propriedade Items.

  5. Selecione sua 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 Filter como uma entrada para outras atividades, como a atividade ForEach.

Propriedades do tipo

Property Description Valores permitidos Necessário
nome Nome da Filter atividade. Cadeia (de carateres) Sim
tipo Deve ser definido para filtrar. Cadeia (de carateres) Sim
condição Condição a ser usada para filtrar a 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 Filter é configurada para filtrar a matriz de entrada para itens com um valor maior que 3. Em seguida, a atividade ForEach itera sobre os valores filtrados e define o teste da variável 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 suportadas: