Freigeben über


Filtern von Aktivitäten in Azure Data Factory- und Synapse Analytics-Pipelines

Sie können eine Filter-Aktivität in einer Pipeline verwenden, um einen Filterausdruck auf ein Eingabearray anzuwenden.

Gilt für: Azure Data Factory Azure Synapse Analytics

Tipp

Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.

Syntax

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

Erstellen einer Filter-Aktivität mit der Benutzeroberfläche

Führen Sie die folgenden Schritte aus, um eine Filter-Aktivität in einer Pipeline zu verwenden:

  1. Als Eingabe für Ihre Filterbedingung können Sie eine beliebige Variable des Typs „Array“ oder Ausgaben anderer Aktivitäten verwenden. Wählen Sie zum Erstellen einer Arrayvariablen den Hintergrund der Pipelinecanvas und anschließend die Registerkarte Variablen aus, um wie unten gezeigt eine Arraytypvariable hinzuzufügen.

    Darstellung einer leeren Pipelinecanvas mit hinzugefügter Arraytypvariable für die Pipeline.

  2. Suchen Sie im Bereich mit den Pipelineaktivitäten nach Filter, und ziehen Sie eine Filter-Aktivität in den Pipelinebereich.

  3. Wählen Sie in diesem Bereich die neue Filter-Aktivität aus (wenn sie nicht bereits ausgewählt ist), und wählen Sie anschließend die Registerkarte Einstellungen aus, um die Details zu bearbeiten.

    Darstellung der Benutzeroberfläche für eine Filteraktivität.

  4. Wählen Sie das Feld Elemente und anschließend den Link Dynamischen Inhalt hinzufügen aus, um den Bereich mit dem Editor für dynamische Inhalte zu öffnen.

    Zeigt den Link   Dynamische Inhalte hinzufügen   für die Eigenschaft Items an.

  5. Wählen Sie Ihr Eingabearray aus, das im Editor für dynamische Inhalte gefiltert werden soll. In diesem Beispiel wird die im ersten Schritt erstellte Variable ausgewählt.

    Darstellung des Editors für dynamische Inhalte mit der im ersten Schritt erstellten Variable

  6. Verwenden Sie den dynamischen Inhalts-Editor erneut, um eine Filterbedingung für die Condition-Eigenschaft anzugeben, wie oben gezeigt.

  7. Sie können die Ausgabe der Filter-Aktivität als Eingabe für andere Aktivitäten wie die ForEach-Aktivität verwenden.

Typeigenschaften

Eigenschaft Beschreibung Zulässige Werte Erforderlich
name Der Name der Filter-Aktivität. String Ja
type Muss auf filter festgelegt sein. String Ja
condition Die Bedingung zum Filtern der Eingaben. Ausdruck Ja
items Das Eingabearray, auf das der Filter angewendet werden soll. Ausdruck Ja

Beispiel

In diesem Beispiel enthält die Pipeline zwei Aktivitäten: Filter und ForEach. Die Aktivität „Filter“ wird so konfiguriert, dass das Eingabearray für Elemente mit einem Wert größer als 3 gefiltert wird. Die Aktivität ForEach durchläuft anschließend die gefilterten Werte und legt für die Variable test den aktuellen Wert fest.

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

Informationen zu weiteren unterstützten Ablaufsteuerungsaktivitäten: