Condividi tramite


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 all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Sintassi

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

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

Per usare un'attività Filtro 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.

    Mostra un'area di disegno della pipeline vuota con una variabile di tipo matrice aggiunta alla 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.

    Mostra l'interfaccia utente per un'attività Filtro.

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

    Mostra il collegamento  Aggiungi contenuto dinamico  per la proprietà Elementi.

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

    Mostra l'editor di contenuto dinamico con selezionata la variabile creata nel primo passaggio

  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. Espressione
articoli Matrice di input a cui deve essere applicato il filtro. Espressione

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: