Planen von Ausdrücken für Regeln
Amazon EventBridge ist die bevorzugte Methode zum Verwalten Ihrer Ereignisse. Amazon CloudWatch Events und EventBridge liegen der gleiche Service und die gleiche API zugrunde, EventBridge bietet jedoch mehr Funktionen. Änderungen, die Sie in CloudWatch oder EventBridge vornehmen, werden in allen Konsolen angezeigt. Weitere Informationen finden Sie unter Amazon EventBridge. |
Sie können Regeln erstellen, mit denen in CloudWatch Events über Cron- oder Rate-Ausdrücke automatisch ein automatisierter Zeitplan ausgelöst wird. Alle geplanten Ereignisse verwenden die UTC-Zeitzone, und die Mindestanforderungen an die Genauigkeit der Zeitpläne beträgt 1 Minute.
CloudWatch Events unterstützt Cron- und Rate-Ausdrücke. Rate-Ausdrücke sind einfacher zu definieren, bieten aber nicht die differenzierte Zeitsteuerung, die mit Cron-Ausdrücken möglich ist. Mit einem Cron-Ausdruck können Sie zum Beispiel eine Regel definieren, die zu bestimmten Uhrzeiten an bestimmten Tagen einer Woche oder eines Monats ausgeführt wird. Mit Rate-Ausdrücken dagegen wird die Regel in regelmäßigen Intervallen ausgeführt, zum Beispiel stündlich oder täglich.
CloudWatch Events stellt in Planungsausdrücken keine Präzision der zweiten Ebene bereit. Die feinste Zeitauflösung bei Verwendung eines Cron-Ausdrucks ist eine Minute. Aufgrund der verteilten Struktur der CloudWatch Events und Ziel-Services kann die Verzögerung zwischen dem Zeitpunkt, an dem die geplante Regel ausgelöst wird, und dem Zeitpunkt, an dem der Ziel-Service die Ziel-Ressource ausführt, einige Sekunden betragen. Die geplante Regel wird innerhalb der angegebenen Minute ausgelöst, aber nicht exakt in der 0. Sekunde.
Formate
Cron-Ausdrücke
Cron-Ausdrücke verfügen über sechs Pflichtfelder, die durch Leerzeichen voneinander getrennt sind.
Syntax
cron(fields)
Feld | Werte | Platzhalter |
---|---|---|
Minuten |
0-59 |
, - * / |
Stunden |
0-23 |
, - * / |
Tag des Monats |
1-31 |
, - * ? / L W |
Monat |
1-12 oder JAN-DEC |
, - * / |
Wochentag |
1-7 oder SUN-SAT |
, - * ? / L # |
Jahr |
1970-2199 |
, - * / |
Wildcards
-
Das Platzhalterzeichen , (Komma) umfasst zusätzliche Werte. Im Feld "Monat" steht JAN, FEB, MAR für Januar, Februar und März.
-
Das Platzhalterzeichen - (Bindestrich) gibt einen Bereich an. Im Feld "Tag" steht 1-15 für die Tage 1 bis 15 des angegebenen Monats.
-
Das Platzhalterzeichen * (Sternchen) steht für alle Werte im Feld. Im Feld für die Stundenangaben steht * für alle Stunden. Sie können kein Sternchen (*) gleichzeitig in den beiden Feldern „Tag des Monats“ und „Wochentag“ verwenden. Wenn Sie es in einem der Felder eingeben, müssen Sie im anderen Feld ein ? verwenden.
-
Das Platzhalterzeichen / (Schrägstrich) steht für schrittweise Steigerungen. Im Feld "Minuten" können Sie 1/10 eingeben, um einen Bereich von je 10 Minuten beginnend mit der ersten Minute der Stunde anzugeben (z. B. die 11., 21. und 31. Minute usw.).
-
Das Platzhalterzeichen ? (Fragezeichen) steht für einen Wert. Im Feld "Tag des Monats" können Sie 7 eingeben, und wenn es keine Rolle spielt, welcher Wochentag der 7. war, können im Feld "Tag des Monat" ?eingeben.
-
Das Platzhalterzeichen L in den Feldern für den Tag des Monats oder für den Wochentag gibt den letzten Tag des Monats oder der Woche an.
-
Das Platzhalterzeichen
W
im Feld "Tag des Monats" gibt einen Wochentag an. Im Feld für den Tag des Monats gibt3W
den Wochentag an, der dem dritten Tag des Monats am nächsten ist. -
Mit dem #-Platzhalter im Feld für den Wochentag wird eine bestimmte Instance des angegebenen Wochentags innerhalb eines Monats angegeben. Beispiel: 3#2 steht für den zweiten Dienstag des Monats: Die 3 bezieht sich auf Dienstag, da dies der dritte Tag jeder Woche ist, und die 2 bezieht sich auf den zweiten Tag dieses Typs innerhalb des Monats.
Anmerkung Wenn Sie ein '#' -Zeichen verwenden, können Sie nur einen Ausdruck im Wochentag-Feld definieren. Beispiel,
"3#1,6#3"
ist ungültig, da es als zwei Ausdrücke interpretiert wird.
Restrictions
-
Es ist nicht möglich, die Felder für den Tag des Monats und den Wochentag im gleichen Cron-Ausdruck anzugeben. Wenn Sie einen Wert (oder einen *) in einem der Felder angeben, müssen Sie in dem anderen Feld ein ? (Fragezeichen) eingeben.
-
Cron-Ausdrücke, die zu schnelleren Häufigkeiten als mit 1 Minute führen, werden nicht unterstützt.
Examples
Sie können die folgenden Beispiel-Cron-Zeichenfolgen beim Erstellen einer Regel mit Zeitplan verwenden.
Minuten | Stunden | Tag des Monats | Monat | Wochentag | Jahr | Bedeutung |
---|---|---|---|---|---|---|
0 |
10 |
* |
* |
? |
* |
Ausführung jeden Tag um 10:00 Uhr (UTC) |
15 |
12 |
* |
* |
? |
* |
Ausführung jeden Tag um 0:15 Uhr (UTC) |
0 |
18 |
? |
* |
MON-FRI |
* |
Ausführung jeden Montag bis Freitag um 18:00 Uhr (UTC) |
0 |
8 |
1 |
* |
? |
* |
Ausführung jeden 1. Tag des Monats um 20:00 Uhr (UTC) |
0/15 |
* |
* |
* |
? |
* |
Ausführung alle 15 Minuten |
0/10 |
* |
? |
* |
MON-FRI |
* |
Ausführung alle 10 Minuten von Montag bis Freitag |
0/5 |
8-17 |
? |
* |
MON-FRI |
* |
Ausführung alle 5 Minuten von Montag bis Freitag zwischen 08:00 Uhr und 17:55 Uhr (UTC) |
Die folgenden Beispiele zeigen, wie Sie Cron-Ausdrücken mit dem AWS CLI-Befehl put-rule verwenden. Im ersten Beispiel wird eine Regel erstellt, die jeden Tag um 12.00 Uhr, in koordinierter Weltzeit (UTC), ausgelöst wird.
aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name
MyRule1
Im nächsten Beispiel wird eine Regel erstellt, die jeden Tag um 5 und 35 Minuten nach 14:00 Uhr in koordinierter Weltzeit (UTC), ausgelöst wird.
aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name
MyRule2
Im nächsten Beispiel wird eine Regel erstellt, die in den Jahren 2002 bis 2005 an jedem letzten Freitag des Monats, um 10.15 Uhr UTC-Zeit, ausgelöst wird.
aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2002-2005)" --name
MyRule3
Rate-Ausdrücke
Ein Rate-Ausdruck beginnt, wenn Sie eine Regel für ein geplantes Ereignis erstellen und mit dem definierten Zeitplan ausführen.
Rate-Ausdrücke bestehen aus zwei Pflichtfeldern. Die Felder werden durch ein Leerzeichen voneinander getrennt.
Syntax
rate(value unit)
- Wert
-
Eine positive Zahl.
- Einheit
-
Die Zeiteinheit. Für Werte von 1 werden verschiedene Einheiten benötigt, z. B.
minute
, ebenso für Werte über 1, z. B.minutes
.Zulässige Werte: Minute | Minuten | Stunde | Stunden | Tag | Tage
Restrictions
Wenn der Wert gleich 1 ist, dann muss die Einheit im Singular stehen. Für Werte größer als 1, muss die Einheit im Plural sein. Beispiel: rate(1 Stunden) und rate(5 Stunde) sind nicht gültig, aber rate(1 Stunde) und rate(5 Stunden) sind gültig.
Examples
Die folgenden Beispiele zeigen, wie Sie Rate-Ausdrücke mit dem AWS CLI-Befehl put-rule verwenden. Das erste Beispiel löst die Regel jede Minute aus, das zweite Beispiel alle 5 Minuten, das dritte stündlich und das vierte täglich.
aws events put-rule --schedule-expression "rate(1 minute)" --name
MyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --name
MyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --name
MyRule4
aws events put-rule --schedule-expression "rate(1 day)" --name
MyRule5