Attività di filtro nelle pipeline di Azure Data Factory e Synapse Analytics

È possibile usare un'attività filtro in una pipeline per applicare un'espressione filtro a una matrice di input.

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Sintassi

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

Creare un'attività di filtro con l'interfaccia utente

Per usare un'attività Filter in una pipeline, completare la procedura seguente:

  1. È possibile usare qualsiasi variabile di tipo di matrice o output di altre attività come input per la condizione di filtro. Per creare una variabile di matrice, selezionare lo sfondo dell'area di disegno della pipeline e quindi selezionare la scheda Variabili per aggiungere una variabile di tipo matrice, come illustrato di seguito.

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

  2. Cercare Filtro nel riquadro Attività pipeline e trascinare un'attività Filtro nell'area di disegno della pipeline.

  3. Selezionare la nuova attività Filtro nell'area di disegno se non è già selezionata e la relativa scheda Impostazioni per modificarne i dettagli.

    Shows the UI for a Filter activity.

  4. Selezionare il campo Elementi e quindi selezionare il collegamento Aggiungi contenuto dinamico per aprire il riquadro editor di contenuto dinamico.

    Shows the  Add dynamic content  link for the Items property.

  5. Selezionare la matrice di input da filtrare nell'editor di contenuto dinamico. In questo esempio viene selezionata la variabile creata nel primo passaggio.

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

  6. Usare di nuovo l'editor di contenuto dinamico per specificare una condizione di filtro per la proprietà Condition, come illustrato in precedenza.

  7. È possibile usare l'output dell'attività Filter come input per altre attività, ad esempio l'attività ForEach.

Proprietà del tipo

Proprietà Descrizione Valori consentiti Obbligatoria
name Nome dell'attività Filter. String
type Deve essere impostato su filter. String
condizione Condizione da usare per il filtraggio dell'input. Expression
articoli Matrice di input a cui deve essere applicato il filtro. Expression

Esempio

In questo esempio, la pipeline contiene due attività: Filter e ForEach. L'attività filtro è configurata per filtrare la matrice di input per gli elementi con un valore maggiore di 3. L'attività ForEach esegue quindi l'iterazione sui valori filtrati e imposta il test della variabile sul valore corrente.

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

Vedere altre attività del flusso di controllo supportate: