Filtrar atividades no Azure Data Factory e no Synapse Analytics pipelines

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

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Syntax

{
    "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.

    Shows an empty pipeline canvas with an array type variable added to the 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.

    Shows the UI for a Filter activity.

  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.

    Shows the  Add dynamic content  link for the Items property.

  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.

    Shows the dynamic content editor with the variable created in the first step selected

  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
name Nome da atividade Filter. String Sim
type Deve ser definido como filtro String Sim
condition Condição a ser usada para filtragem de entrada. Expression Yes
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: