Atividade de filtrar nos pipelines do Azure Data Factory e Synapse Analytics

Pode usar uma atividade de filtro num pipeline para aplicar uma expressão de filtro a um array de entrada.

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades 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 UI

Para usar uma atividade de Filtro num pipeline, complete os seguintes passos:

  1. Podes utilizar qualquer variável de array ou saídas de outras atividades como entrada para a condição do filtro. Para criar uma variável de array, selecione o fundo do painel do pipeline e depois selecione o separador Variáveis para adicionar uma variável de tipo de array, conforme apresentado abaixo.

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

  2. Pesquise por Filtro no painel de Atividades do pipeline e arraste uma atividade Filtro para o canvas do pipeline.

  3. Selecione a nova atividade de Filtro na tela, caso ainda não esteja selecionada, e o separador Definições , para editar os seus detalhes.

    Mostra a interface de uma atividade de Filtro.

  4. Selecione o campo Itens e depois selecione 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  para a propriedade Itens.

  5. Selecione o seu array de entrada para filtrar no editor de conteúdos dinâmicos. Neste exemplo, selecionamos a variável criada no primeiro passo.

    Mostra o editor de conteúdos dinâmicos com a variável criada no primeiro passo selecionada

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

  7. Podes usar a saída da atividade Filter como entrada para outras atividades, como a atividade ForEach.

Propriedades do tipo

Propriedade Descrição Valores permitidos Obrigatório
nome Nome da Filter atividade. String Yes
tipo Tem de estar configurado para filtrar. String Yes
condição Condição a ser usada para filtrar a entrada. Expressão Yes
itens Matriz de entrada na qual o filtro deve ser aplicado. Expressão Yes

Exemplo

Neste exemplo, o pipeline tem duas atividades: Filter e ForEach. A atividade Filter está configurada para filtrar o array de entrada para itens com valor superior a 3. A atividade ForEach então itera sobre os 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 controlo suportadas: