Tipi di pianificazione su EventBridge Scheduler - EventBridge Pianificatore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tipi di pianificazione su EventBridge Scheduler

L'argomento seguente descrive i diversi tipi di pianificazione supportati da Amazon EventBridge Scheduler, nonché come EventBridge Scheduler gestisce l'ora legale e la pianificazione in diversi fusi orari. Puoi scegliere tra tre tipi di pianificazione durante la configurazione: pianificazioni basate sulla tariffa, basate su cronn e pianificazioni una tantum.

Sia le pianificazioni basate sulla frequenza che quelle basate sul cronometro sono pianificazioni ricorrenti. Ogni tipo di pianificazione ricorrente viene configurato utilizzando un'espressione di pianificazione per il tipo di pianificazione che si desidera configurare e specificando un fuso orario in cui Scheduler valuta l'espressione. EventBridge

Una pianificazione unica è una pianificazione che richiama un obiettivo solo una volta. Si configura una pianificazione unica specificando l'ora, la data e il fuso orario in cui EventBridge Scheduler valuta la pianificazione.

Nota

Tutti i tipi di EventBridge pianificazione su Scheduler richiamano i propri obiettivi con una precisione di 60 secondi. Ciò significa che se imposti la pianificazione in modo che venga eseguita su1:00, invocherà l'API di destinazione tra e. 1:00:00 1:00:59

Utilizza le seguenti sezioni per scoprire come configurare le espressioni di pianificazione per ogni tipo di pianificazione ricorrente e come impostare una pianificazione una tantum su Scheduler. EventBridge

Pianificazioni basate sulle tariffe

Una pianificazione basata sulle tariffe inizia dopo la data di inizio specificata per la pianificazione e viene eseguita a una frequenza regolare definita dall'utente fino alla data di fine della pianificazione. È possibile impostare i casi d'uso più comuni di pianificazione ricorrente utilizzando una pianificazione basata sulla tariffa. Ad esempio, se desideri una pianificazione che richiami l'obiettivo ogni 15 minuti, una volta ogni due ore o una volta ogni cinque giorni, puoi utilizzare una pianificazione basata sulla frequenza per raggiungere questo obiettivo. È possibile configurare una pianificazione basata sulla tariffa utilizzando un'espressione di frequenza.

Con le pianificazioni basate sulle tariffe, si utilizza la StartDateproprietà per impostare la prima occorrenza della pianificazione. Se non si fornisce una StartDate pianificazione basata sulla tariffa, la pianificazione inizia a richiamare immediatamente l'obiettivo.

Le espressioni tariffarie hanno due campi obbligatori separati da uno spazio bianco, come illustrato di seguito.

Sintassi

rate(value unit)
value

Un numero positivo.

unità

L'unità di tempo in cui desideri che la tua pianificazione richiami è target.

Ingressi validi: | | minutes hours days

Esempi

L'esempio seguente mostra come utilizzare le espressioni di frequenza con il AWS CLI create-schedule comando per configurare una pianificazione basata sulla tariffa. Questo esempio crea una pianificazione che viene eseguita ogni cinque minuti e invia un messaggio a una coda Amazon SQS, utilizzando il tipo di destinazione basato su modelliSqsParameters.

Poiché questo esempio non imposta un valore per il --start-date parametro, la pianificazione inizia a richiamare la destinazione immediatamente dopo la creazione e l'attivazione.

$ aws scheduler create-schedule --schedule-expression 'rate(5 minutes)' --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

Pianificazioni basate su CRON

Un'espressione cron crea una pianificazione ricorrente dettagliata che viene eseguita in un momento specifico a tua scelta. EventBridge Scheduler supporta la configurazione di pianificazioni basate su cronn nell'Universal Coordinated Time (UTC) o nel fuso orario specificato al momento della creazione della pianificazione. Con le pianificazioni basate su cronn, hai un maggiore controllo su quando e con che frequenza viene eseguita la pianificazione. Utilizza le pianificazioni basate su cronn quando hai bisogno di una pianificazione di ricorrenza personalizzata che non sia supportata da una delle espressioni di frequenza di EventBridge Scheduler. Ad esempio, è possibile creare una pianificazione basata su cronn che venga eseguita alle 8:00. PST il primo lunedì di ogni mese. Si configura una pianificazione basata su cron utilizzando un'espressione cron.

Un'espressione cron è composta da cinque campi obbligatori separati da spazi bianchi: minuti, ore day-of-month, mese e un campo opzionale day-of-week, anno, come illustrato di seguito.

Sintassi

cron(minutes hours day-of-month month day-of-week year)
Campo Valori Caratteri jolly

Minuti

0-59

, - * /

Ore

0-23

, - * /

D ay-of-month

1-31

, - * ? / L W

Mese

1-12 o JAN-DEC

, - * /

D ay-of-week

1-7 o SUN-SAT

, - * ? L #

Anno

1970-2199

, - * /

Caratteri jolly
  • Il carattere jolly , (virgola) include valori aggiuntivi. Nel campo Month (Mese), JAN,FEB,MAR (GEN,FEB,MAR) include gennaio, febbraio e marzo.

  • Il carattere jolly - (trattino) specifica gli intervalli. Nel campo Day (Giorno), 1-15 include i primi 15 giorni del mese specificato.

  • Il carattere jolly * (asterisco) include tutti i valori nel campo. Nel campo Hours (Ore), * include ogni ora. Non puoi usare* in entrambi i ay-of-week campi D ay-of-month e D. Se viene utilizzato in uno di tali campi, è necessario utilizzare ? nell'altro.

  • Il carattere jolly / (barra) specifica gli incrementi. Nel campo Minutes (Minuti), puoi inserire 1/10 per specificare ogni decimo minuto, a partire dal primo minuto dell'ora (ad esempio, l'11°, il 21° e il 31° minuto e così via).

  • Il carattere jolly ? (punto interrogativo) specifica qualsiasi valore. Nel ay-of-month campo D puoi inserire 7 e se qualsiasi giorno della settimana fosse accettabile, potresti inserire? nel ay-of-week campo D.

  • Il carattere jolly L nei ay-of-week campi D ay-of-month o D specifica l'ultimo giorno del mese o della settimana.

  • Il carattere W jolly nel ay-of-month campo D specifica un giorno della settimana. Nel ay-of-month campo D, 3W specifica il giorno della settimana più vicino al terzo giorno del mese.

  • Il carattere jolly # nel ay-of-week campo D specifica una determinata istanza del giorno della settimana specificato all'interno di un mese. Ad esempio, 3#2 sarebbe il secondo martedì del mese: il 3 fa riferimento a martedì perché è il terzo giorno di ogni settimana e il 2 fa riferimento al secondo giorno di questo tipo in un mese.

    Nota

    Se si utilizza un carattere '#', è possibile definire solo un'espressione nel day-of-week campo. Ad esempio, "3#1,6#3" non è valido perché viene interpretato come due espressioni.

Esempi

L'esempio seguente mostra come utilizzare le espressioni cron con il AWS CLI create-schedule comando per configurare una pianificazione basata su cron. Questo esempio crea una pianificazione che viene eseguita alle 10:15 UTC+0 l'ultimo venerdì di ogni mese negli anni dal 2022 al 2023 e invia un messaggio a una coda Amazon SQS, utilizzando il tipo di destinazione basato su modelli. SqsParameters

$ aws scheduler create-schedule --schedule-expression "cron(15 10 ? * 6L 2022-2023)" --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

Pianificazioni una tantum

Una pianificazione unica richiamerà un obiettivo solo una volta alla data e all'ora specificate utilizzando una data valida e un timestamp. EventBridge Scheduler supporta la pianificazione in UTC (Universal Coordinated Time) o nel fuso orario specificato al momento della creazione della pianificazione.

Nota

Una pianificazione unica viene comunque conteggiata ai fini della quota dell'account anche dopo che è stata completata l'esecuzione e ha richiamato l'obiettivo. Ti consigliamo di eliminare le tue pianificazioni una tantum dopo che hanno completato l'esecuzione.

Puoi configurare una pianificazione una tantum utilizzando un'espressione at. Un'espressione at è costituita dalla data e dall'ora in cui si desidera che EventBridge Scheduler richiami la pianificazione, come illustrato di seguito.

Sintassi

at(yyyy-mm-ddThh:mm:ss)

Quando si configura una pianificazione una tantum, EventBridge Scheduler ignora l'StartDatee specificato per la EndDate pianificazione.

Esempi

L'esempio seguente mostra come utilizzare le espressioni at con il AWS CLI create-schedule comando per configurare una pianificazione una tantum. Questo esempio crea una pianificazione che viene eseguita una sola volta alle 13:00 UTC-8 del 20 novembre 2022 e invia un messaggio a una coda Amazon SQS, utilizzando il tipo di destinazione basato su modelli. SqsParameters

$ aws scheduler create-schedule --schedule-expression "at(2022-11-20T13:00:00)" --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --schedule-expression-timezone "America/Los_Angeles" --flexible-time-window '{ "Mode": "OFF"}'

Fusi orari su Scheduler EventBridge

EventBridge Scheduler supporta la configurazione di pianificazioni monouso e basate su cronn in qualsiasi fuso orario specificato. EventBridge Scheduler utilizza il database dei fusi orari gestito dalla Internet Assigned Numbers Authority (IANA).

ConAWS CLI, è possibile impostare il fuso orario in cui si desidera che EventBridge Scheduler valuti la pianificazione utilizzando il --schedule-expression-timezone parametro. Ad esempio, il comando seguente crea una pianificazione basata su cron che richiama un target Amazon SQS basato su modelli in America/New_York SendMessage ogni giorno alle 8:30.

$ aws scheduler create-schedule --schedule-expression "cron(30 8 * * ? *)" --name schedule-in-est \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "This schedule runs in the America/New_York time zone." }' \ --schedule-expression-timezone "America/New_York" --flexible-time-window '{ "Mode": "OFF"}'

Ora EventBridge legale su Scheduler

EventBridge Scheduler regola automaticamente la pianificazione in base all'ora legale. Quando l'ora passa in avanti in primavera, se un'espressione cron cade su una data e un'ora inesistenti, la chiamata alla pianificazione viene saltata. Quando il tempo torna indietro in autunno, la pianificazione viene eseguita una sola volta e non ripete la sua invocazione. Le seguenti invocazioni si verificano normalmente alla data e all'ora specificate.

EventBridge Scheduler regola la pianificazione in base al fuso orario specificato al momento della creazione della pianificazione. Se configuri una pianificazione in America/New_York, la pianificazione viene modificata quando l'ora cambia in quel fuso orario, mentre una pianificazione in America/Los_Angeles viene modificata tre ore dopo, quando l'ora cambia sulla costa occidentale.

Per le pianificazioni basate sulle tariffe che utilizzano days come unità, ad esempio, rappresenta una durata di 24 ore sull'orologio. rate(1 days) days Ciò significa che quando l'ora legale riduce un giorno a 23 ore o si estende a 25 ore, EventBridge Scheduler valuta comunque l'espressione della tariffa 24 ore dopo l'ultima chiamata della pianificazione.

Nota

Alcuni fusi orari non rispettano l'ora legale, secondo le norme e i regolamenti locali. Se si crea una pianificazione in un fuso orario che non rispetta l'ora legale, EventBridge Scheduler non modifica la pianificazione. Le regolazioni dell'ora legale non si applicano agli orari in base all'ora coordinata universale (UTC).

Esempio

Considera uno scenario in cui crei una pianificazione utilizzando la seguente espressione cron in America/Los_Angeles:. cron(30 2 * * ? *) Questa pianificazione viene eseguita ogni giorno alle 2:30 del mattino nel fuso orario specificato.

  • Spring-forward: quando l'ora passa in avanti in primavera dall'1:59 alle 3:00, EventBridge Scheduler salta la chiamata alla pianificazione di quel giorno e riprende a eseguire la pianificazione normalmente il giorno successivo.

  • Fallback: quando l'orario cambia all'indietro in autunno dalle 2:59 alle 2:00, EventBridge Scheduler esegue la pianificazione solo una volta alle 2:30 prima che si verifichi il turno, ma non ripete più la chiamata alla pianificazione alle 2:30 dopo il turno orario.