Condividi tramite


Pianificare ed eseguire flussi di lavoro ricorrenti con il trigger Ricorrenza in App per la logica di Azure

Si applica a: App per la logica di Azure (a consumo e standard)

Per avviare ed eseguire il flusso di lavoro in base a una pianificazione, è possibile usare il trigger ricorrenza generico come primo passaggio. È possibile impostare una data, un'ora e un fuso orario per l'avvio del flusso di lavoro e una ricorrenza per ripetere il flusso di lavoro. L'elenco seguente include alcuni modelli supportati da questo trigger insieme a ricorrenze più avanzate e pianificazioni complesse:

  • Viene eseguito in una data e un'ora specifiche, quindi ripetere ogni n numero di secondi, minuti, ore, giorni, settimane o mesi.

  • Eseguire immediatamente e ripetere ogni n numero di secondi, minuti, ore, giorni, settimane o mesi.

  • Eseguire immediatamente e ripetere ogni giorno in uno o più orari specifici, ad esempio le 8:00 e le 17:00.

  • Eseguire immediatamente e ripetere settimanalmente in giorni specifici, ad esempio sabato e domenica.

  • Eseguire immediatamente e ripetere settimanalmente in giorni e orari specifici, ad esempio da lunedì a venerdì alle 8:00 e alle 17:00.

Nota

Le opzioni di pianificazione avanzate, ad esempio In queste ore e In questi giorni, sono disponibili e funzionano solo con i trigger di polling predefiniti, ad esempio il trigger Ricorrenza e il trigger Finestra scorrevole, che vengono eseguiti direttamente con il runtime di App per la logica di Azure. Per i connettori gestiti da Microsoft, ospitati ed eseguiti in Azure, i trigger di polling calcolano la ricorrenza successiva usando solo i valori Intervallo e Frequenza, non le opzioni di pianificazione avanzate.

Il trigger Ricorrenza non è associato a un servizio specifico, quindi è possibile usare il trigger con quasi qualsiasi flusso di lavoro, ad esempio flussi di lavoro dell'app per la logica a consumo e flussi di lavoro con stato dell'app per la logica Standard. Questo trigger non è attualmente disponibile per i flussi di lavoro senza stato dell'app per la logica Standard.

Il trigger Ricorrenza fa parte del connettore Schedule predefinito ed viene eseguito in modo nativo nel runtime di App per la logica di Azure. Per altre informazioni sui trigger e le azioni di pianificazione predefiniti, vedere Pianificare ed eseguire attività, attività e flussi di lavoro ricorrenti con App per la logica di Azure.

Prerequisiti

  • Account e sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.

  • Una risorsa dell'app per la logica a consumo o standard con un flusso di lavoro vuoto.

    Nota

    Se è stato creato un flusso di lavoro dell'app per la logica Standard, assicurarsi di creare un flusso di lavoro con stato. Il trigger Ricorrenza non è attualmente disponibile per i flussi di lavoro senza stato.

Aggiungere il trigger Ricorrenza

In base al fatto che il flusso di lavoro sia Consumo o Standard, seguire la procedura corrispondente:

  1. Nella portale di Azure aprire la risorsa dell'app per la logica e il flusso di lavoro vuoto.

  2. Seguire questi passaggi generali per aggiungere il trigger predefinito Pianificazione denominato Ricorrenza.

  3. Impostare l'intervallo e la frequenza per la ricorrenza. In questo esempio, impostare queste proprietà per eseguire il flusso di lavoro ogni settimana, ad esempio:

    Screenshot di Progettazione flussi di lavoro a consumo con intervallo di trigger ricorrenza e frequenza.

    Proprietà Nome JSON Richiesto Type Descrizione
    Intervallo interval Intero Numero intero positivo che indica l'intervallo con cui viene eseguito il flusso di lavoro in base alla frequenza. Di seguito sono riportati gli intervalli minimo e massimo:

    - Mese: 1-16 mesi
    - Settimana: 1-71 settimane
    - Giorno: 1-500 giorni
    - Ora: 1-12.000 ore
    - Minuto: 1-72.000 minuti
    - Secondo: 1-9.999.999 secondi

    Ad esempio, se l'intervallo è 6 e la frequenza è "Mese", la ricorrenza è ogni 6 mesi.
    Frequenza frequency String L'unità di tempo per la ricorrenza: Secondo, Minuto, Ora, Giorno, Settimana o Mese

    Importante: se si seleziona la frequenza giorno, settimana o mese e si specifica una data e un'ora di inizio future, assicurarsi di impostare la ricorrenza in anticipo. In caso contrario, il flusso di lavoro potrebbe ignorare la prima ricorrenza.

    - Giorno: impostare la ricorrenza giornaliera almeno 24 ore in anticipo.

    - Settimana: impostare la ricorrenza settimanale almeno 7 giorni in anticipo.

    - Mese: impostare la ricorrenza mensile almeno un mese in anticipo.
  4. Quando si usa il trigger Ricorrenza , esaminare le considerazioni seguenti:

    • Se non si specifica una data e un'ora di inizio specifiche, la prima ricorrenza viene eseguita immediatamente quando si salva il flusso di lavoro o si distribuisce la risorsa dell'app per la logica, nonostante la configurazione della ricorrenza del trigger. Per evitare questo comportamento, specificare una data e un'ora di inizio per la prima ricorrenza da eseguire.

    • Se non si specificano altre opzioni di pianificazione avanzate, ad esempio orari specifici per l'esecuzione di ricorrenze future, tali ricorrenze si basano sull'ultima esecuzione. Di conseguenza, gli orari di inizio per tali ricorrenze potrebbero derivare a causa di fattori quali la latenza durante le chiamate di archiviazione.

    • Per assicurarsi che il flusso di lavoro non perda una ricorrenza, in particolare quando la frequenza è in giorni o più lunghi, provare le opzioni seguenti:

      • Specificare una data e un'ora di inizio per la ricorrenza e gli orari specifici per l'esecuzione delle ricorrenze successive. È possibile utilizzare le proprietà denominate In queste ore e In questi minuti, disponibili solo per le frequenze Giorno e Settimana .

      • Per i flussi di lavoro dell'app per la logica a consumo, usare il trigger Finestra temporale scorrevole anziché il trigger Ricorrenza .

    • Se si distribuisce un flusso di lavoro a consumo disabilitato con un trigger Ricorrenza usando un modello di Resource Manager, il trigger viene attivato immediatamente quando si abilita il flusso di lavoro, a meno che non si imposti il parametro Ora di inizio prima della distribuzione.

  5. Per impostare le opzioni di pianificazione avanzate, aprire l'elenco Aggiungi nuovo parametro . Tutte le opzioni selezionate vengono visualizzate nel trigger dopo la selezione.

    Proprietà Nome JSON Richiesto Type Descrizione
    Fuso orario timeZone No String Valido solo quando si specifica un'ora di inizio, perché il trigger non accetta la differenza dall'ora UTC. Selezionare il fuso orario che si desidera applicare. Per altre informazioni, vedere Fusi orari predefiniti.
    Ora di inizio startTime No String Specificare una data e un'ora di inizio, con un massimo di 49 anni in futuro e deve seguire la specifica di data ISO 8601 in formato ora UTC, ma senza un offset UTC:

    AAAA-MM-GGThh:mm:ss se si seleziona un fuso orario

    -o-

    AAAA-MM-GGThh:mm:ssZ se non si seleziona un fuso orario

    Ad esempio, se si desidera che il 18 settembre 2020 alle 2:00 pm, specificare "2020-09-18T14:00:00" e selezionare un fuso orario, ad esempio Ora solare pacifico. In alternativa, specificare "2020-09-18T14:00:00Z" senza un fuso orario.

    Importante: se non si seleziona un fuso orario, è necessario aggiungere la lettera "Z" alla fine senza spazi. La lettera "Z" fa riferimento all'ora nautica equivalente. Se si seleziona un valore di fuso orario, non è necessario aggiungere una "Z" alla fine del valore dell'ora di inizio. In questo caso, App per la logica ignora il valore del fuso orario perché "Z" indica un formato ora UTC.

    Per le pianificazioni semplici, l'ora di inizio è la prima occorrenza, mentre per le pianificazioni complesse il trigger non viene attivato prima dell'ora di inizio. In quali modi posso usare la data e l'ora di inizio?
    In questi giorni weekDays No Stringa o matrice di stringhe Se si seleziona "Settimana", è possibile selezionare uno o più giorni in cui eseguire il flusso di lavoro: Lunedì, Martedì, Mercoledì, Giovedì, Venerdì, Sabato e Domenica
    A queste ore hours No Intero o matrice di intero Se si seleziona "Day" o "Week", è possibile selezionare uno o più numeri interi da 0 a 23 come ore del giorno per quando si desidera eseguire il flusso di lavoro. Ad esempio, se si specifica "10", "12" e "14", si ottengono le 10:00, 12 PM e 2 PM per le ore del giorno.

    Nota: per impostazione predefinita, i minuti del giorno vengono calcolati in base all'inizio della ricorrenza. Per impostare minuti specifici del giorno, ad esempio le 10:00, le 12:00 e le 2:00, specificare tali valori usando la proprietà denominata In questi minuti.
    A questi minuti minutes No Intero o matrice di intero Se si seleziona "Giorno" o "Settimana", è possibile selezionare uno o più numeri interi da 0 a 59 come minuti dell'ora in cui si desidera eseguire il flusso di lavoro.

    Ad esempio, è possibile specificare "30" come indicatore dei minuti e, usando l'esempio precedente per le ore del giorno, si otterranno le ore 10.30, 12.30 e 14.30.

    Nota: a volte, il timestamp per l'esecuzione attivata può variare fino a 1 minuto dall'ora pianificata. Se è necessario passare il timestamp esattamente come pianificato alle azioni successive, è possibile usare le espressioni modello per modificare di conseguenza il timestamp. Per altre informazioni, vedere Funzioni di data e ora per le espressioni.

    Screenshot della finestra di progettazione del flusso di lavoro a consumo e del trigger Ricorrenza con opzioni avanzate di pianificazione.

    Si supponga, ad esempio, che oggi sia venerdì 4 settembre 2020. Il trigger Ricorrenza seguente non viene attivato prima della data e dell'ora di inizio specificate, ovvero venerdì 18 settembre 2020 alle 8:00 ora del Pacifico. Tuttavia, la pianificazione di ricorrenza è impostata solo per i lunedì alle 10:30, 12:30 e 14:30. La prima volta che il trigger viene attivato e crea un'istanza del flusso di lavoro, il lunedì alle 10:30. Per altre informazioni sul funzionamento degli orari di inizio, vedere questi esempi.

    Le esecuzioni future avranno luogo alle 12:30 e 14:30 nella stessa giornata. Ogni ricorrenza crea la propria istanza del flusso di lavoro. L'intera pianificazione verrà quindi ripetuta da capo il lunedì successivo. Quali sono altre occorrenze di esempio?

    Screenshot che mostra il flusso di lavoro a consumo e il trigger Ricorrenza con un esempio di pianificazione avanzata.

    Nota

    Il trigger mostra un'anteprima per la ricorrenza specificata solo quando si seleziona Giorno o Settimana come frequenza.

  6. Continuare ora a compilare il flusso di lavoro con altre azioni.

Definizione del flusso di lavoro - Ricorrenza

È possibile visualizzare la modalità di visualizzazione della definizione del trigger Ricorrenza con le opzioni scelte esaminando la definizione JSON sottostante per il flusso di lavoro nelle app per la logica a consumo e nelle app per la logica Standard (solo con stato).

In base al fatto che l'app per la logica sia Consumo o Standard, scegliere una delle opzioni seguenti:

  • Consumo: sulla barra degli strumenti della finestra di progettazione selezionare Visualizzazione codice. Per tornare alla finestra di progettazione, nella barra degli strumenti dell'editor della visualizzazione codice selezionare Progettazione.

  • Standard: nel menu del flusso di lavoro selezionare Visualizzazione codice. Per tornare alla finestra di progettazione, scegliere Progettazione dal menu del flusso di lavoro.

L'esempio seguente mostra come venga visualizzata una definizione di trigger Ricorrenza nella definizione JSON sottostante del flusso di lavoro:

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

Nota

Nella definizione del trigger Ricorrenza la evaluatedRecurrence proprietà viene visualizzata insieme alla recurrence proprietà quando viene visualizzato un riferimento a un'espressione o a un parametro nei criteri di ricorrenza. Questa evaluatedRecurrence proprietà rappresenta i valori valutati dal riferimento all'espressione o al parametro. Se i criteri di ricorrenza non specificano espressioni o riferimenti ai parametri, le evaluatedRecurrence proprietà e recurrence sono le stesse.

L'esempio seguente illustra come aggiornare la definizione del trigger in modo che il trigger venga eseguito una sola volta l'ultimo giorno di ogni mese:

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

Eseguire una sola volta

Per eseguire il flusso di lavoro solo contemporaneamente in futuro, è possibile applicare il modello utilità di pianificazione: Esegui una sola volta il flusso di lavoro dei processi , disponibile solo per i flussi di lavoro delle app per la logica a consumo. Questo modello usa il trigger di richiesta e l'azione HTTP , anziché il trigger Ricorrenza , che non supporta questo modello di ricorrenza.

  1. Nella portale di Azure creare un'app per la logica a consumo.

  2. Nella finestra di progettazione aprire il flusso di lavoro vuoto. Sulla barra degli strumenti della finestra di progettazione selezionare Abilita progettazione legacy.

  3. Sulla barra degli strumenti della finestra di progettazione selezionare Modelli.

  4. Nella pagina visualizzata scorrere il video fino alla sezione Modelli .

  5. Nell'elenco Categoria selezionare Pianifica e quindi selezionare il modello seguente:

    Screenshot che mostra il modello selezionato denominato Utilità di pianificazione Esegui una volta i processi.

  6. Sulla barra degli strumenti della finestra di progettazione selezionare Progettazione disponibile a livello generale.

  7. Seguire questi passaggi generali per aggiungere l'azione Pianifica denominata Ritardo fino a e specificare l'ora di inizio dell'esecuzione dell'azione successiva.

In alternativa, è possibile avviare il flusso di lavoro con il trigger Richiesta denominato Quando viene ricevuta una richiesta HTTP e passare l'ora di inizio come parametro per il trigger.

Eseguire una sola volta l'ultimo giorno del mese

Per questa attività, è necessario modificare il trigger Ricorrenza nella definizione JSON sottostante del flusso di lavoro usando la visualizzazione codice, non la finestra di progettazione, usando l'esempio seguente:

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

Attivare il cambio di ricorrenza e la deriva (ora legale)

Per pianificare i processi, App per la logica di Azure inserisce il messaggio per l'elaborazione nella coda e specifica quando il messaggio diventa disponibile, in base all'ora UTC in cui è stato eseguito l'ultimo processo e all'ora UTC in cui è pianificato l'esecuzione del processo successivo. Se si specifica un'ora di inizio con la ricorrenza, assicurarsi di selezionare un fuso orario in modo che il flusso di lavoro dell'app per la logica venga eseguito all'ora di inizio specificata. In questo modo, anche l'ora UTC per l'app per la logica viene spostata per contrastare la modifica dell'ora stagionale. I trigger ricorrenti rispettano la pianificazione impostata, incluso qualsiasi fuso orario specificato.

In caso contrario, se non si seleziona un fuso orario, gli eventi dell'ora legale possono influire sull'esecuzione dei trigger. Ad esempio, l'ora di inizio passa un'ora in avanti all'avvio dell'ora legale e un'ora indietro al termine dell'ora legale. Tuttavia, alcuni intervalli di tempo potrebbero causare problemi quando i turni di tempo. Per altre informazioni ed esempi, vedere Ricorrenza per l'ora legale e l'ora solare.

Passaggi successivi