Creare una dipendenza del trigger di finestra a cascata

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 .

Questo articolo descrive la procedura per creare una dipendenza del trigger di finestra a cascata. Per informazioni più specifiche ed esempi sui trigger di finestra a cascata, vedere Procedura per creare un trigger di finestra a cascata.

Per creare una catena di dipendenze e assicurarsi che un trigger venga eseguito solo dopo l'esecuzione corretta di un altro trigger all'interno del servizio, usare questa funzionalità avanzata per creare una dipendenza di finestra a cascata.

Per una dimostrazione su come creare pipeline dipendenti tramite trigger finestra a cascata, guardare il video seguente:

Creare una dipendenza nell'interfaccia utente

Per creare una dipendenza da un trigger, selezionare Trigger Advanced New (Attiva > nuovo avanzato>) e quindi scegliere il trigger da cui dipendere con l'offset e le dimensioni appropriate. Selezionare Fine e pubblicare le modifiche per rendere effettive le dipendenze.

Screenshot of the dependency creation window.

Proprietà di una dipendenza in una finestra a cascata

Un trigger di finestra a cascata con una dipendenza ha le proprietà seguenti:

{
    "name": "MyTriggerName",
    "properties": {
        "type": "TumblingWindowTrigger",
        "runtimeState": <<Started/Stopped/Disabled - readonly>>,
        "typeProperties": {
            "frequency": <<Minute/Hour>>,
            "interval": <<int>>,
            "startTime": <<datetime>>,
            "endTime": <<datetime - optional>>,
            "delay": <<timespan - optional>>,
            "maxConcurrency": <<int>> (required, max allowed: 50),
            "retryPolicy": {
                "count": <<int - optional, default: 0>>,
                "intervalInSeconds": <<int>>,
            },
            "dependsOn": [
                {
                    "type": "TumblingWindowTriggerDependencyReference",
                    "size": <<timespan - optional>>,
                    "offset": <<timespan - optional>>,
                    "referenceTrigger": {
                        "referenceName": "MyTumblingWindowDependency1",
                        "type": "TriggerReference"
                    }
                },
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": <<timespan - optional>>,
                    "offset": <<timespan>>
                }
            ]
        }
    }
}

La tabella seguente fornisce l'elenco degli attributi necessari per definire una dipendenza in una finestra a cascata.

Nome proprietà Descrizione Type Obbligatorio
Tipo Tutti i trigger presenti in una finestra a cascata vengono visualizzati nell'elenco a tendina. Scegliere il trigger da cui dipendere. TumblingWindowTriggerDependencyReference o SelfDependencyTumblingWindowTriggerReference
offset Scostamento del trigger delle dipendenze. Specificare un valore in formato intervallo di tempo e sono consentiti offset negativi e positivi. Questa proprietà è obbligatoria se il trigger dipende da se stesso e in tutti gli altri casi è facoltativo. L'auto-dipendenza deve avere sempre uno scostamento negativo. Se non viene specificato alcun valore, la finestra corrisponde al trigger stesso. TimeSpan
(hh:mm:ss)
Dipendenza automatica: Sì
Altro: No
size Dimensione della finestra a cascata di dipendenze. Specificare un valore timepan positivo. Questa proprietà è facoltativa. TimeSpan
(hh:mm:ss)
No

Nota

Un trigger di finestra a cascata può dipendere da un massimo di cinque altri trigger.

Proprietà di auto-dipendenza in una finestra a cascata

Negli scenari in cui il trigger non deve passare alla finestra successiva fino al completamento della finestra precedente, creare una dipendenza automatica. Un trigger di dipendenza automatica che dipende dall'esito positivo delle esecuzioni precedenti di se stesso nell'ora precedente avrà le proprietà indicate nel codice seguente.

Nota

Se la pipeline attivata si basa sull'output delle pipeline nelle finestre attivate in precedenza, è consigliabile usare solo la dipendenza automatica del trigger di finestra a cascata. Per limitare le esecuzioni di trigger paralleli, impostare la concorrenza del trigger maximimum.

{
    "name": "DemoSelfDependency",
    "properties": {
        "runtimeState": "Started",
        "pipeline": {
            "pipelineReference": {
                "referenceName": "Demo",
                "type": "PipelineReference"
            }
        },
        "type": "TumblingWindowTrigger",
        "typeProperties": {
            "frequency": "Hour",
            "interval": 1,
            "startTime": "2018-10-04T00:00:00Z",
            "delay": "00:01:00",
            "maxConcurrency": 50,
            "retryPolicy": {
                "intervalInSeconds": 30
            },
            "dependsOn": [
                {
                    "type": "SelfDependencyTumblingWindowTriggerReference",
                    "size": "01:00:00",
                    "offset": "-01:00:00"
                }
            ]
        }
    }
}

Scenari di utilizzo ed esempi

Di seguito sono riportate le illustrazioni degli scenari e l'utilizzo delle proprietà di dipendenza delle finestre a cascata.

Scostamento della dipendenza

Offset Example

Dimensione della dipendenza

Size example

Auto-dipendenza

Self-dependency

Dipendenza di un altro trigger in una finestra a cascata

Un processo di elaborazione dei dati di telemetria giornaliera a seconda di un altro processo giornaliero che aggrega l'output degli ultimi sette giorni e genera flussi finestra mobile sette giorni:

Dependency example

Dipendenza su se stesso

Un processo giornaliero senza interruzioni nei flussi di output del processo:

Self-dependency example

Monitorare le dipendenze

È possibile monitorare la catena di dipendenze e le finestre corrispondenti dalla pagina di monitoraggio dell'esecuzione del trigger. Passare a Monitoraggio delle esecuzioni > dei trigger. Se un trigger finestra a cascata presenta dipendenze, il nome del trigger conterrà un collegamento ipertestuale alla visualizzazione di monitoraggio delle dipendenze.

Monitor trigger runs

Fare clic sul nome del trigger per visualizzare le dipendenze dei trigger. Il pannello a destra mostra informazioni dettagliate sull'esecuzione del trigger, ad esempio RunID, intervallo di tempo, stato e così via.

Monitor dependencies list view

È possibile visualizzare lo stato delle dipendenze e le finestre per ogni trigger dipendente. Se uno dei trigger di dipendenze ha esito negativo, è necessario eseguirlo di nuovo per consentire l'esecuzione del trigger dipendente.

Un trigger di finestra a cascata attenderà le dipendenze per sette giorni prima del timeout. Dopo sette giorni, l'esecuzione del trigger avrà esito negativo.

Nota

Non è possibile annullare un trigger di finestra a cascata mentre si trova nello stato In attesa della dipendenza . L'attività dipendente deve terminare prima che il trigger di finestra a cascata possa essere annullato. Questa operazione è progettata per garantire il completamento delle attività dipendenti dopo l'avvio e consente di ridurre la probabilità di risultati imprevisti.This is by design to ensure dependent activities can complete once started, and helps reduce the probabilit of unexpected results.

Per un oggetto visivo più visivo per visualizzare la pianificazione delle dipendenze dei trigger, selezionare la visualizzazione Gantt.

Monitor dependencies gantt chart

Le caselle trasparenti mostrano le finestre di dipendenza per ogni trigger dipendente dal flusso verso il basso, mentre le caselle colorate a tinta unita sopra mostrano le singole esecuzioni della finestra. Ecco alcuni suggerimenti per interpretare la visualizzazione diagramma di Gantt:

  • La casella trasparente esegue il rendering blu quando le finestre dipendenti sono in sospeso o in esecuzione
  • Dopo che tutte le finestre hanno esito positivo per un trigger dipendente, la casella trasparente diventa verde
  • La casella trasparente viene visualizzata in rosso quando si verifica un errore di una finestra dipendente. Cercare una casella rossa continua per identificare l'esecuzione della finestra di errore

Per rieseguire una finestra nella visualizzazione diagramma di Gantt, selezionare la casella a tinta unita per la finestra e verrà visualizzato un pannello azioni con i dettagli e le opzioni di riesecuzione