Filtrera aktivitet i Azure Data Factory- och Synapse Analytics-pipelines

Du kan använda en filteraktivitet i en pipeline för att tillämpa ett filteruttryck på en indatamatris.

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Syntax

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

Skapa en filteraktivitet med användargränssnittet

Utför följande steg för att använda en filteraktivitet i en pipeline:

  1. Du kan använda valfri matristypvariabel eller utdata från andra aktiviteter som indata för filtervillkoret. Om du vill skapa en matrisvariabel väljer du bakgrunden för pipelinearbetsytan och väljer sedan fliken Variabler för att lägga till en matristypvariabel enligt nedan.

    Shows an empty pipeline canvas with an array type variable added to the pipeline.

  2. Sök efter Filter i fönstret Pipelineaktiviteter och dra en filteraktivitet till pipelinearbetsytan.

  3. Välj den nya filteraktiviteten på arbetsytan om den inte redan är markerad och fliken Inställningar för att redigera dess information.

    Shows the UI for a Filter activity.

  4. Välj fältet Objekt och välj sedan länken Lägg till dynamiskt innehåll för att öppna fönstret redigerare för dynamiskt innehåll.

    Shows the  Add dynamic content  link for the Items property.

  5. Välj den indatamatris som ska filtreras i redigeraren för dynamiskt innehåll. I det här exemplet väljer vi variabeln som skapades i det första steget.

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

  6. Använd redigeraren för dynamiskt innehåll igen för att ange ett filtervillkor för egenskapen Villkor, som du ser ovan.

  7. Du kan använda utdata från filteraktiviteten som indata till andra aktiviteter som ForEach-aktiviteten.

Typegenskaper

Property beskrivning Tillåtna värden Obligatoriskt
name Namnet på Filter aktiviteten. String Ja
type Måste anges till filter. String Ja
villkor Villkor som ska användas för att filtrera indata. Uttryck Ja
objekt Indatamatris på vilken filter som ska användas. Uttryck Ja

Exempel

I det här exemplet har pipelinen två aktiviteter: Filter och ForEach. Filteraktiviteten är konfigurerad för att filtrera indatamatrisen för objekt med ett värde större än 3. ForEach-aktiviteten itererar sedan över de filtrerade värdena och anger variabeltestet till det aktuella värdet.

{
    "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": []
    }
}

Se andra kontrollflödesaktiviteter som stöds: