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.

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

    Shows the UI for a Filter activity.

  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.

    Shows the  Add dynamic content  link for the Items property.

  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.

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

Propriedades do tipo

Property Description Valores permitidos Obrigató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: