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:

Pokud chcete pracovní postup spustit a spustit pouze jednou v budoucnu, použijte šablonu pracovního postupu s názvem Scheduler: Spustit jednou úlohy. Tato šablona používá trigger požadavku a akci HTTP místo triggeru opakování, který tento způsob opakování nepodporuje. Další informace najdete v tématu Jednorázové spouštění úloh.

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.

Předpoklady

  • Úč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:

    Screenshot for Consumption workflow designer with Recurrence trigger interval and frequency.

    Vlastnost Název JSON Požaduje se Typ Popis
    Interval interval Ano Integer 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 Řetězec 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 Typ Popis
    Časové pásmo timeZone No Řetězec 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.
    Čas spuštění startTime No Řetězec 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.

    Screenshot for Consumption workflow designer and Recurrence trigger with advanced scheduling options.

    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ů?

    Screenshot showing Consumption workflow and Recurrence trigger with advanced scheduling example.

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

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