Condividi tramite


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 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 la procedura per creare una dipendenza del trigger di finestra a cascata. Per informazioni generali sui trigger periodici, vedere Creare un trigger periodico.

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

Per una dimostrazione su come creare pipeline dipendenti usando un trigger periodico, guardare il video seguente:

Creare una dipendenza nell'interfaccia utente

Per creare una dipendenza in un trigger, selezionare Trigger>Avanzato>Nuovo. Scegliere quindi il trigger da cui dipendere con l'offset e le dimensioni appropriate. Selezionare Fine e pubblicare le modifiche per attivare le dipendenze.

Screenshot che mostra la finestra di creazione della dipendenza.

Proprietà di una dipendenza in una finestra a cascata

Una trigger periodico in una dipendenza dispone delle 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
type Tutti i trigger periodici vengono visualizzati nell'elenco a discesa. Scegliere il trigger da cui dipendere. TumblingWindowTriggerDependencyReference oppure SelfDependencyTumblingWindowTriggerReference
offset Scostamento del trigger delle dipendenze. Specificare un valore nel formato dell'intervallo di tempo. Sono consentiti offset negativi e positivi. Questa proprietà è obbligatoria se il trigger dipende da sé stesso. In tutti gli altri casi è facoltativa. 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)
Auto-dipendenza: sì
Altro: no
size Dimensione della finestra a cascata di dipendenze. Specificare un valore dell'intervallo di tempo positivo. Questa proprietà è facoltativa. TimeSpan
(hh:mm:ss)
No

Nota

Un trigger periodico 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 sé stesso nell'ora precedente ha 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 periodico. Per limitare le esecuzioni di trigger paralleli, impostare la concorrenza massima del trigger.

{
    "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 ed esempi di utilizzo

Gli scenari seguenti illustrano l'uso delle proprietà di dipendenza delle finestre a cascata.

Scostamento della dipendenza

Diagramma che mostra un esempio di offset.

Dimensione della dipendenza

Diagramma che mostra un esempio di dimensioni.

Auto-dipendenza

Diagramma che mostra un esempio di dipendenza automatica.

Dipendenza di un altro trigger in una finestra a cascata

L'esempio seguente mostra un processo quotidiano di elaborazione di dati di telemetria dipendente da un altro processo giornaliero, che aggrega gli output degli ultimi sette giorni e genera flussi di finestre in una sequenza di sette giorni.

Diagramma che mostra un esempio di dipendenza.

Dipendenza su se stesso

Nell'esempio seguente viene illustrato un processo giornaliero senza interruzioni nei flussi di output del processo.

Diagramma che mostra un esempio di dipendenza automatica senza interruzioni nei flussi di output.

Monitorare le dipendenze

È possibile monitorare la catena delle dipendenze e le finestre corrispondenti dalla pagina di monitoraggio dell'esecuzione del trigger. Passare a Monitoraggio>Esecuzioni trigger. Se un trigger periodici presenta dipendenze, il nome del trigger contiene un collegamento ipertestuale a una visualizzazione di monitoraggio delle dipendenze.

Screenshot che mostra il Monitoraggio delle esecuzioni dei trigger.

Fare clic sul nome del trigger per visualizzarne le dipendenze. Il riquadro a destra mostra informazioni sull'esecuzione del trigger, ad esempio l'ID esecuzione, la finestra temporale e lo stato.

Screenshot che mostra la visualizzazione elenco di Monitoraggio dipendenze.

È possibile visualizzare lo stato delle dipendenze e delle finestre per ogni trigger dipendente. Se uno dei trigger di dipendenza ha esito negativo, è necessario eseguirlo di nuovo affinché venga eseguito il trigger dipendente.

Un trigger periodico attende le dipendenze per sette giorni prima del timeout. Dopo sette giorni, l'esecuzione del trigger ha esito negativo.

Nota

Non è possibile annullare un trigger periodico mentre si trova nello stato In attesa della dipendenza. L'attività dipendente deve terminare prima che il trigger periodico possa essere annullato. Questa restrizione è progettata per garantire che le attività dipendenti possano essere completate dopo l'avvio. Consente anche di ridurre la probabilità di risultati imprevisti.

Per una migliore visualizzazione della pianificazione delle dipendenze dei trigger, selezionare la visualizzazione Gantt.

Screenshot che mostra un diagramma di Gantt delle dipendenze di monitoraggio.

Le caselle trasparenti mostrano le finestre delle dipendenze per ogni trigger dipendente da downstream. Le caselle colorate mostrate nell'immagine precedente mostrano singole esecuzioni di finestre. Ecco alcuni suggerimenti per interpretare la visualizzazione del diagramma di Gantt:

  • Le caselle trasparenti vengono visualizzate in blu quando le finestre dipendenti si trovano in uno stato In sospeso o In esecuzione.
  • Dopo che tutte le finestre hanno esito positivo per un trigger dipendente, la casella trasparente diventa verde.
  • Le caselle trasparenti vengono visualizzate in rosso in caso di errore di una finestra dipendente. Cercare una casella rossa per identificare l'esecuzione della finestra di errore.

Per rieseguire una finestra nella visualizzazione di diagramma di Gantt, selezionare la casella colorata per la finestra. Viene visualizzato un riquadro delle azioni con le informazioni e le opzioni di riesecuzione.