Condividi tramite


Riferimento ai metadati del trigger nella pipeline

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!

Questo articolo descrive il modo in cui i metadati del trigger, ad esempio l'ora di inizio del trigger, possono essere usati in un'esecuzione della pipeline.

Una pipeline a volte deve comprendere e leggere i metadati dal trigger che la richiama. Ad esempio, con un trigger periodico la pipeline elabora diverse sezioni o cartelle di dati in base all'ora di inizio e di fine della finestra. In Azure Data Factory vengono usate la parametrizzazione e le variabili di sistema per passare i metadati dai trigger alle pipeline.

Questo criterio è particolarmente utile per trigger periodici, dove il trigger fornisce l'ora di inizio e di fine della finestra, e trigger di eventi personalizzati, dove il trigger analizza ed elabora i valori in un campo dati definito in modo personalizzato.

Nota

Diversi tipi di trigger forniscono informazioni sui metadati diverse. Per altre informazioni, vedere Variabili di sistema.

Interfaccia utente di Data Factory

Questa sezione illustra come passare informazioni sui metadati dai trigger alle pipeline all'interno dell'interfaccia utente di Data Factory.

  1. Passare all'Area del contenuto e modificare una pipeline.

  2. Selezionare l'area di lavoro vuota per visualizzare le impostazioni della pipeline. Non selezionare alcuna attività. Potrebbe essere necessario estrarre il riquadro delle impostazioni dalla parte inferiore dell'area di lavoro perché potrebbe essere compresso.

  3. Selezionare la scheda Parametri e selezionare + Nuovo per aggiungere parametri.

    Screenshot che mostra un'impostazione della pipeline che mostra come definire i parametri in una pipeline.

  4. Aggiungere trigger alla pipeline selezionando + Trigger.

  5. Creare o collegare un trigger alla pipeline e selezionare OK.

  6. Dopo aver selezionato OK, viene visualizzata un'altra pagina Nuovo trigger con un elenco dei parametri specificati per la pipeline, come illustrato nello screenshot seguente. In tale pagina compilare i metadati del trigger per ogni parametro. Usare il formato definito in Variabili di sistema per recuperare le informazioni sul trigger. Non è necessario inserire le informazioni per tutti i parametri. È sufficiente fornire quelle che presuppongono i valori dei metadati del trigger. Ad esempio, qui viene assegnata l'ora di inizio dell'esecuzione del trigger a parameter_1.

    Screenshot che mostra la pagina Parametri di esecuzione del trigger che mostra come passare le informazioni sul trigger ai parametri della pipeline.

  7. Per usare i valori nella pipeline, usare parametri, ad esempio @pipeline().parameters.parameterName, non variabili di sistema, nelle definizioni della pipeline. Ad esempio, in questo caso, per leggere l'ora di inizio del trigger, si fa riferimento a @pipeline().parameters.parameter_1.

Schema JSON

Per passare le informazioni sul trigger alle esecuzioni della pipeline, è necessario aggiornare sia il trigger che il codice JSON della pipeline con la sezione parameters.

Definizione della pipeline

Nella sezione properties aggiungere definizioni di parametri alla sezione parameters.

{
    "name": "demo_pipeline",
    "properties": {
        "activities": [
            {
                "name": "demo_activity",
                "type": "WebActivity",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "url": {
                        "value": "@pipeline().parameters.parameter_2",
                        "type": "Expression"
                    },
                    "method": "GET"
                }
            }
        ],
        "parameters": {
            "parameter_1": {
                "type": "string"
            },
            "parameter_2": {
                "type": "string"
            },
            "parameter_3": {
                "type": "string"
            },
            "parameter_4": {
                "type": "string"
            },
            "parameter_5": {
                "type": "string"
            }
        },
        "annotations": [],
        "lastPublishTime": "2021-02-24T03:06:23Z"
    },
    "type": "Microsoft.DataFactory/factories/pipelines"
}

Definizione del trigger

Nella sezione pipelines assegnare i valori dei parametri nella sezione parameters. Non è necessario inserire le informazioni per tutti i parametri. È sufficiente fornire quelle che presuppongono i valori dei metadati del trigger.

{
    "name": "trigger1",
    "properties": {
        "annotations": [],
        "runtimeState": "Started",
        "pipelines": [
            {
                "pipelineReference": {
                    "referenceName": "demo_pipeline",
                    "type": "PipelineReference"
                },
                "parameters": {
                    "parameter_1": "@trigger().startTime"
                }
            }
        ],
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 15,
                "startTime": "2021-03-03T04:38:00Z",
                "timeZone": "UTC"
            }
        }
    }
}

Usare le informazioni sul trigger in una pipeline

Per usare i valori in una pipeline, usare parametri, ad esempio @pipeline().parameters.parameterName, non variabili di sistema, nelle definizioni della pipeline.

Per altre informazioni sui trigger, vedere Esecuzione e trigger di pipeline.