Dela via


Skapa ett beroende för utlösare för rullande fönster

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln innehåller steg för att skapa ett beroende av en utlösare för rullande fönster. Allmän information om utlösare för rullande fönster finns i Skapa en utlösare för rullande fönster.

Om du vill skapa en beroendekedja och se till att en utlösare körs först efter att en annan utlösare har körts i tjänsten använder du den här avancerade funktionen för att skapa ett beroende för rullande fönster.

En demonstration av hur du skapar beroende pipelines med en utlösare för rullande fönster finns i följande video:

Skapa ett beroende i användargränssnittet

Om du vill skapa ett beroende av en utlösare väljer du Utlösa avancerad>>ny. Välj sedan den utlösare som ska vara beroende av med lämplig förskjutning och storlek. Välj Slutför och publicera ändringarna för att beroendena ska börja gälla.

Skärmbild som visar fönstret för att skapa beroenden.

Beroendeegenskaper för rullande fönster

En utlösare för rullande fönster med ett beroende har följande egenskaper:

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

Följande tabell innehåller en lista över attribut som behövs för att definiera ett beroende för rullande fönster.

Egenskapsnamn beskrivning Typ Obligatoriskt
type Alla befintliga utlösare för rullande fönster visas i den här listrutan. Välj den utlösare som ska vara beroende av. TumblingWindowTriggerDependencyReference eller SelfDependencyTumblingWindowTriggerReference Ja
offset Förskjutning av beroendeutlösaren. Ange ett värde i tidsintervallformatet. Både negativa och positiva förskjutningar tillåts. Den här egenskapen är obligatorisk om utlösaren är beroende av sig själv. I alla andra fall är det valfritt. Självberoende bör alltid vara en negativ förskjutning. Om inget värde anges är fönstret samma som själva utlösaren. Tidsintervall
(hh:mm:ss)
Självberoende: Ja
Övrigt: Nej
size Storleken på beroendets rullande fönster. Ange ett positivt tidsintervallvärde. Den här egenskapen är valfri. Tidsintervall
(hh:mm:ss)
Nej

Kommentar

En utlösare för rullande fönster kan bero på högst fem andra utlösare.

Självberoende egenskaper för rullande fönster

I scenarier där utlösaren inte ska fortsätta till nästa fönster förrän föregående fönster har slutförts skapar du ett självberoende. En självberoende utlösare som är beroende av lyckade tidigare körningar inom den föregående timmen har de egenskaper som anges i följande kod.

Kommentar

Om den utlösta pipelinen förlitar sig på utdata från pipelines i tidigare utlösta fönster rekommenderar vi att du endast använder självberoende utlösare för rullande fönster. Om du vill begränsa parallella utlösarkörningar anger du maximal samtidighet för utlösaren.

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

Användningsscenarier och exempel

Följande scenarier visar användningen av beroendeegenskaper för rullande fönster.

Beroendeförskjutning

Diagram som visar ett förskjutningsexempel.

Beroendestorlek

Diagram som visar ett storleksexempel.

Självberoende

Diagram som visar ett exempel på självberoende.

Beroende av en annan utlösare för rullande fönster

I följande exempel visas ett dagligt telemetribearbetningsjobb som är beroende av ett annat dagligt jobb som aggregerar de senaste sju dagarnas utdata och genererar sju dagars rullande fönsterströmmar.

Diagram som visar ett beroendeexempel.

Beroende av sig själv

I följande exempel visas ett dagligt jobb utan luckor i utdataströmmarna för jobbet.

Diagram som visar ett självberoende exempel utan luckor i utdataströmmarna.

Övervaka beroenden

Du kan övervaka beroendekedjan och motsvarande fönster från övervakningssidan för utlösaren. Gå till Övervakningsutlösare>körs. Om en utlösare för rullande fönster har beroenden bär utlösarnamnet en hyperlänk till en övervakningsvy för beroenden.

Skärmbild som visar övervakarens utlösarkörningar.

Klicka dig igenom utlösarnamnet för att visa utlösarberoenden. Fönstret till höger visar information om körning av utlösare, till exempel körnings-ID, fönstertid och status.

Skärmbild som visar listvyn Övervaka beroenden.

Du kan se status för beroenden och fönster för varje beroende utlösare. Om något av beroendena misslyckas måste du köra det igen för att den beroende utlösaren ska kunna köras.

En utlösare för rullande fönster väntar på beroenden i sju dagar innan tidsgränsen nås. Efter sju dagar misslyckas utlösarkörningen.

Kommentar

En utlösare för rullande fönster kan inte avbrytas när den är i beroendetillståndet Väntar på . Den beroende aktiviteten måste slutföras innan utlösaren för rullande fönster kan avbrytas. Den här begränsningen är avsiktlig för att säkerställa att beroende aktiviteter kan slutföras när de har startats. Det bidrar också till att minska sannolikheten för oväntade resultat.

Om du vill ha ett mer visuellt sätt att visa schemat för utlösarens beroende väljer du Gantt-vyn.

Skärmbild som visar ett Gantt-schema för övervakningsberoenden.

Transparenta rutor visar beroendeperioderna för varje nedströmsberoende utlösare. Helfärgade rutor som visas i föregående bild visar enskilda fönsterkörningar. Här följer några tips för att tolka Gantt-schemavyn:

  • Transparenta rutor återges blått när beroende fönster är i ett väntande eller körs-tillstånd .
  • När alla fönster lyckas för en beroende utlösare blir den transparenta rutan grön.
  • Transparenta rutor återges rött när ett beroende fönster misslyckas. Leta efter en helröd ruta för att identifiera felfönstrets körning.

Om du vill köra ett fönster igen i Gantt-schemavyn väljer du rutan Med färg för fönstret. Ett åtgärdsfönster visas med information och omkörningsalternativ.