Plánování a spouštění opakovaných pracovních postupů pomocí triggeru Opakování v Azure Logic Apps

Platí pro: Azure Logic Apps (Consumption + Standard)

Pokud chcete pracovní postup spustit a spustit podle plánu, můžete jako první krok použít obecnou aktivační událost opakování . Můžete nastavit datum, čas a časové pásmo pro spuštění pracovního postupu a opakování tohoto pracovního postupu. Následující seznam obsahuje některé vzory, které tento trigger podporuje, spolu s pokročilejšími opakováními a složitými plány:

  • Spusťte ho s konkrétním datem a časem a pak opakujte každých n sekund, minut, hodin, dnů, týdnů nebo měsíců.

  • Spusťte okamžitě a opakujte každý n počet sekund, minuty, hodiny, dny, týdny nebo měsíce.

  • Spusťte okamžitě a opakujte každý den v jednom nebo více konkrétních časech, například 8:00 a 18:00.

  • Spusťte okamžitě a opakujte každý týden v konkrétních dnech, například sobotu a neděli.

  • Spusťte okamžitě a opakujte týdně v konkrétních dnech a časech, například pondělí až pátek v 8:00 a 18:00.

Poznámka:

Pokročilé možnosti plánování, například v těchto hodinách a v těchto dnech, jsou k dispozici a fungují jenom s integrovanými aktivačními událostmi dotazování, jako jsou triggery Opakování a posuvné okno , které se spouští přímo s modulem runtime Azure Logic Apps. U konektorů spravovaných Microsoftem, hostovaných a spuštěných v Azure se triggery dotazování vypočítají další opakování pouze pomocí hodnot Interval a Frekvence , nikoli pokročilých možností plánování.

Aktivační událost opakování není přidružená k žádné konkrétní službě, takže trigger můžete použít s téměř jakýmkoli pracovním postupem, jako jsou pracovní postupy aplikace logiky Consumption a stavové pracovní postupy aplikace logiky Standard. Tento trigger je momentálně nedostupný pro bezstavové pracovní postupy aplikace logiky standardu.

Trigger opakování je součástí integrovaného konektoru Schedule a spouští se nativně v modulu runtime Azure Logic Apps. Další informace o integrovaných aktivačních událostech a akcích plánu najdete v tématu Plánování a spouštění opakovaných automatizovaných úloh a pracovních postupů pomocí Azure Logic Apps.

Požadavky

  • Účet a předplatné Azure. Pokud předplatné nemáte, zaregistrujte si bezplatný účet Azure.

  • Prostředek aplikace logiky Consumption nebo Standard s prázdným pracovním postupem

    Poznámka:

    Pokud jste vytvořili pracovní postup standardní aplikace logiky, nezapomeňte vytvořit stavový pracovní postup. Aktivační událost opakování je momentálně pro bezstavové pracovní postupy nedostupná.

Přidání triggeru opakování

Na základě toho, jestli je váš pracovní postup Spotřeba nebo Standard, postupujte podle odpovídajících kroků:

  1. Na webu Azure Portal otevřete prostředek aplikace logiky a prázdný pracovní postup.

  2. Postupujte podle těchto obecných kroků a přidejte předdefinovaný trigger plánu s názvem Opakování.

  3. Nastavte interval a frekvenci opakování. V tomto příkladu nastavte tyto vlastnosti tak, aby se pracovní postup spouštěl každý týden, například:

    Snímek obrazovky návrháře pracovního postupu Consumption s intervalem triggeru opakování a frekvencí

    Vlastnost Název JSON Požaduje se Type Popis
    Interval interval Ano Celé číslo Kladné celé číslo, které popisuje, jak často se pracovní postup spouští na základě frekvence. Tady jsou minimální a maximální intervaly:

    - Měsíc: 1–16 měsíců
    - Týden: 1-71 týdnů
    - Den: 1-500 dní
    - Hodina: 1–12 000 hodin
    - Minuta: 1–72 000 minut
    - Sekunda: 1–999 999 sekund

    Pokud je například interval 6 a frekvence je "Měsíc", je opakování každých 6 měsíců.
    Četnost frequency Ano String Jednotka času opakování: sekunda, minuta, hodina, den, týden nebo měsíc

    Důležité: Pokud vyberete frekvenci dne, týdne nebo měsíce a zadáte budoucí počáteční datum a čas, ujistěte se, že jste opakování nastavili předem. Jinak může pracovní postup přeskočit první opakování.

    - Den: Nastavte denní opakování alespoň 24 hodin předem.

    - Týden: Nastavte týdenní opakování alespoň 7 dní předem.

    - Měsíc: Nastavte měsíční opakování alespoň jeden měsíc předem.
  4. Při použití triggeru opakování zkontrolujte následující aspekty:

    • Pokud nezadáte konkrétní počáteční datum a čas, první opakování se spustí okamžitě při uložení pracovního postupu nebo nasazení prostředku aplikace logiky bez ohledu na nastavení opakování triggeru. Chcete-li se tomuto chování vyhnout, zadejte počáteční datum a čas, kdy chcete spustit první opakování.

    • Pokud nezadáte žádné další pokročilé možnosti plánování, jako jsou konkrétní časy spuštění budoucích opakování, budou tyto opakování založeny na čase posledního spuštění. V důsledku toho se počáteční časy těchto opakování můžou odchylovat kvůli faktorům, jako je latence během volání úložiště.

    • Pokud chcete mít jistotu, že váš pracovní postup nezmešká opakování, zejména pokud je frekvence ve dnech nebo delších, vyzkoušejte následující možnosti:

      • Zadejte počáteční datum a čas opakování a konkrétní časy pro spuštění následných opakování. Můžete použít vlastnosti s názvem V těchto hodinách a V těchto minutách, které jsou k dispozici pouze pro četnosti dnů a týdnů .

      • V případě pracovních postupů aplikace logiky Consumption použijte místo triggeru Opakování aktivační událost posuvného okna.

    • Pokud nasadíte zakázaný pracovní postup Consumption s triggerem opakování pomocí šablony ARM, trigger se okamžitě aktivuje, když pracovní postup povolíte, pokud před nasazením nenastavíte parametr Počáteční čas .

  5. Pokud chcete nastavit pokročilé možnosti plánování, otevřete seznam Přidat nový parametr . Všechny možnosti, které vyberete, se zobrazí na triggeru po výběru.

    Vlastnost Název JSON Požaduje se Type Popis
    Časové pásmo timeZone No String Platí jenom v případě, že zadáte počáteční čas, protože tento trigger nepřijímá posun UTC. Vyberte časové pásmo, které chcete použít. Další informace najdete v tématu Výchozí časová pásma.
    Čas spuštění startTime No String Zadejte počáteční datum a čas, který má v budoucnu maximálně 49 let a musí dodržovat specifikaci data a času ISO 8601 ve formátu data a času UTC, ale bez posunu UTC:

    YYYY-MM-DDThh:mm:ss, pokud vyberete časové pásmo

    -nebo-

    YYYY-MM-DDThh:mm:ssZ, pokud nevyberete časové pásmo

    Pokud například chcete 18. září 2020 v 18:00, zadejte "2020-09-18T14:00:00" a vyberte časové pásmo, například Tichomoří standardní čas. Nebo zadejte 2020-09-18T14:00:00Z bez časového pásma.

    Důležité: Pokud nevyberete časové pásmo, musíte na konec přidat písmeno "Z" bez mezer. Tento "Z" odkazuje na ekvivalentní námořní čas. Pokud vyberete hodnotu časového pásma, nemusíte na konec počátečního času přidávat "Z". Pokud ano, Služba Logic Apps ignoruje hodnotu časového pásma, protože "Z" označuje formát času UTC.

    U jednoduchých plánů je počáteční čas prvním výskytem, zatímco u složitých plánů se trigger neaktivuje dříve než čas zahájení. Jaké jsou způsoby, jak můžu použít počáteční datum a čas?
    V tyto dny weekDays No Řetězcové nebo řetězcové pole Pokud vyberete "Týden", můžete vybrat jeden nebo více dní, kdy chcete pracovní postup spustit: pondělí, úterý, středa, čtvrtek, pátek, sobota a neděle.
    V těchto hodinách hours No Celé číslo nebo celočíselné pole Pokud vyberete "Den" nebo "Týden", můžete vybrat jedno nebo více celých čísel od 0 do 23 jako hodiny dne, kdy chcete pracovní postup spustit. Pokud například zadáte "10", "12" a "14", získáte pro hodiny dne 10:00, 12:00 a 2:00.

    Poznámka: Ve výchozím nastavení se minuty dne počítají na základě toho, kdy se opakování spustí. Pokud chcete nastavit konkrétní minuty dne, například 10:00, 12:00 a 2:00, zadejte tyto hodnoty pomocí vlastnosti s názvem V těchto minutách.
    V těchto minutách minutes No Celé číslo nebo celočíselné pole Pokud vyberete "Den" nebo "Týden", můžete vybrat jedno nebo více celých čísel od 0 do 59 v minutách hodiny, když chcete pracovní postup spustit.

    Můžete například zadat "30" jako znak minuty a použít předchozí příklad pro hodiny dne, získáte 10:30, 12:30 a 23:30.

    Poznámka: V některých případech se časové razítko aktivovaného spuštění může od naplánovaného času lišit až 1 minutu. Pokud potřebujete časové razítko předat přesně podle plánu následným akcím, můžete pomocí výrazů šablon odpovídajícím způsobem změnit časové razítko. Další informace naleznete v tématu Funkce data a času pro výrazy.

    Snímek obrazovky s návrhářem pracovního postupu Consumption a triggerem opakování s pokročilými možnostmi plánování

    Předpokládejme například, že dnes je pátek, 4. září 2020. Následující trigger opakování se neaktivuje dříve než zadané počáteční datum a čas, což je pátek 18. září 2020 v 8:00 Tichomoří. Plán opakování je však nastavený na 10:30, 12:30 a 23:30 pouze v pondělí. Při prvním spuštění triggeru a vytvoření instance pracovního postupu je v pondělí v 10:30. Další informace o tom, jak časy zahájení fungují, najdete v těchto příkladech času zahájení.

    Budoucí běhy probíhají ve 12:30 a 23:30 ve stejný den. Každé opakování vytvoří vlastní instanci pracovního postupu. Potom se celý plán opakuje znovu v příštím pondělí. Jaké jsou další příklady výskytů?

    Snímek obrazovky znázorňující pracovní postup Consumption a trigger opakování s ukázkovým pokročilým plánováním

    Poznámka:

    Aktivační událost zobrazí náhled pro zadané opakování pouze v případě, že jako frekvenci vyberete Den nebo Týden .

  6. Teď pokračujte v sestavování pracovního postupu s dalšími akcemi.

Definice pracovního postupu – opakování

Způsob zobrazení definice triggeru opakování s vybranými možnostmi si můžete prohlédnout v podkladové definici JSON pro váš pracovní postup v aplikacích logiky Consumption a standardních aplikacích logiky (pouze stavové).

Na základě toho, jestli je vaše aplikace logiky Consumption nebo Standard, zvolte jednu z následujících možností:

  • Spotřeba: Na panelu nástrojů návrháře vyberte Zobrazení kódu. Pokud se chcete vrátit do návrháře, na panelu nástrojů editoru zobrazení kódu vyberte Návrhář.

  • Standardní: V nabídce pracovního postupu vyberte Zobrazení kódu. Chcete-li se vrátit do návrháře, v nabídce pracovního postupu vyberte Návrhář.

Následující příklad ukazuje, jak se může v podkladové definici JSON pracovního postupu objevit definice triggeru opakování :

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2020-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

Poznámka:

V definici triggeru Opakování se evaluatedRecurrence vlastnost zobrazí spolu s recurrence vlastností, když se v kritériích opakování zobrazí libovolný výraz nebo odkaz na parametr. Tato evaluatedRecurrence vlastnost představuje vyhodnocené hodnoty z výrazu nebo odkazu na parametr. Pokud kritéria opakování nezadávají žádné výrazy nebo odkazy na parametry, evaluatedRecurrence jsou vlastnosti recurrence stejné.

Následující příklad ukazuje, jak aktualizovat definici triggeru tak, aby se aktivační událost spustila pouze jednou za poslední den každého měsíce:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Spustit pouze jednou

Pokud chcete pracovní postup spustit jenom najednou v budoucnu, můžete použít Plánovač: Spustit jednou šablonu pracovního postupu úloh , která je dostupná jenom pro pracovní postupy aplikace logiky Consumption. Tato šablona používá trigger požadavku a akci HTTP místo triggeru opakování , který tento způsob opakování nepodporuje.

  1. Na webu Azure Portal vytvořte aplikaci logiky Consumption.

  2. V návrháři otevřete prázdný pracovní postup. Na panelu nástrojů návrháře vyberte Povolit starší verzi Návrháře.

  3. Na panelu nástrojů návrháře vyberte Šablony.

  4. Na stránce, která se otevře, přejděte po videu do oddílu Šablony .

  5. V seznamu kategorie vyberte Plán a pak vyberte následující šablonu:

    Snímek obrazovky znázorňující vybranou šablonu s názvem Scheduler Run once jobs

  6. Na panelu nástrojů návrháře vyberte Obecně dostupný návrhář.

  7. Pomocí těchto obecných kroků přidejte akci Plán s názvem Zpoždění do a zadejte čas, kdy se spustí další akce.

Nebo můžete spustit pracovní postup pomocí triggeru požadavku s názvem Při přijetí požadavku HTTP a předat počáteční čas jako parametr triggeru.

Jednorázové spuštění v posledním dni v měsíci

Pro tuto úlohu musíte upravit trigger Opakování v základní definici JSON pracovního postupu pomocí zobrazení kódu, nikoli návrháře, pomocí následujícího příkladu:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Aktivace posunu opakování a posunu (letní čas)

Pokud chcete naplánovat úlohy, Azure Logic Apps umístí zprávu ke zpracování do fronty a určí, kdy bude tato zpráva dostupná, na základě času UTC, kdy byla poslední úloha spuštěna, a času UTC, kdy je naplánováno spuštění další úlohy. Pokud zadáte počáteční čas s opakováním, ujistěte se, že jste vybrali časové pásmo , aby se pracovní postup aplikace logiky spustil v zadaném čase spuštění. Tímto způsobem se čas UTC pro vaši aplikaci logiky také posune tak, aby se čítače sezónních změn času. Opakované triggery dodržují nastavený plán, včetně libovolného časového pásma, které zadáte.

V opačném případě, pokud nevyberete časové pásmo, můžou události letního času (DST) ovlivnit při spuštění triggerů. Například počáteční čas posune o jednu hodinu dopředu, když DST začíná a jedna hodina zpět, když DST skončí. Některá časová okna ale můžou způsobovat problémy, když se čas posune. Další informace a příklady naleznete v tématu Opakování pro letní čas a standardní čas.

Další kroky