Pub/Sub-Ziel
Wenn Sie den Zieltyp Pub/Sub auswählen:Geben Sie den Namen des Themas an, zu dem der Job veröffentlicht wird. Dies ist ein Pub/Sub-Thema, das Sie in Ihrem Projekt bereits eingerichtet haben.
Geben Sie eine Nachricht an, die an das Thema gesendet werden soll. Sie wird in der Pub/Sub-Nachricht als Parameter
data
gesendet. Ein Beispiel, bei dem finden Sie in der Kurzanleitung.Fügen Sie alle erforderlichen Nachrichtenattribute hinzu.
Richten Sie zusätzliche Konfigurationen über den Abschnitt
Configure optional settings
ein.
Cloud Scheduler veröffentlicht Nachrichten zu diesem Thema mit einem Google APIs-Dienstkonto.
App Engine-HTTP-Ziel
Wenn Sie den Zieltyp App Engine-HTTP auswählen, müssen Sie die App Engine-Anwendung und die Region verwenden, die mit dem aktuellen Projekt verknüpft sind. Wenn Sie eine andere App Engine-Anwendung außerhalb Ihres aktuellen Projekts verwenden möchten, wählen Sie HTTP als Ziel und nicht App Engine-HTTP aus. Die Ziel-Firewallregeln müssen Anfragen aus dem IP-Bereich 0.1.0.2/32 zulassen.Legen Sie das Format so fest:
Wählen Sie in der Liste Zieltyp die Option App Engine-HTTP aus.
Geben Sie den Namen des App Engine-Dienstes an, der den Handler für den Cloud Scheduler-Job ausführt. Ist kein Name angegeben, wird der Dienst
default
verwendet. Wenn Sie ihn festlegen möchten, finden Sie die Dienstnamen in der Google Cloud Console.Geben Sie optional die Version an. Wenn Sie keine Version angeben, wird die aktuelle Version verwendet. Verfügbare Versionen finden Sie in der Google Cloud Console:
Geben Sie optional die Instanz an. Wenn Sie keine Instanz angeben, wird eine beliebige verfügbare Instanz verwendet. Die verfügbaren Versionen finden Sie in der Google Cloud Console:
Geben Sie die relative URL des App Engine-Endpunkts an, den der Job enthält kontaktiert. Wenn Sie den Standardwert
/
verwenden, verwendet der JobPROJECT-ID.appspot.com
, wobeiPROJECT-ID
Ihre aktuelle Projekt-ID ist.Legen Sie die HTTP-Methode fest, die bei Ausführung des Jobs verwendet werden soll. Die Standardeinstellung ist
POST
.Fügen Sie der Anfrage alle erforderlichen Header hinzu.
Geben Sie optional die Textdaten an, die an das Ziel gesendet werden sollen. Die Daten werden im Anfragetext als Byte gesendet, wenn die HTTP-Methode
POST
oderPUT
ausgewählt wurde.
Ziel-App Engine-Endpunkte müssen sich im selben Projekt befinden und können
gesichert mit login: admin
im Element handlers
im
app.yaml
-Datei.
HTTP-Ziel
Wenn Sie den Zieltyp HTTP auswählen, gilt Folgendes:Geben Sie die vollständig qualifizierte URL des Endpunkts an, an den sich der Job richtet.
Geben Sie die HTTP-Methode an. Die Standardeinstellung ist
POST
.Geben Sie optional die Daten an, die an das Ziel gesendet werden sollen. Diese Daten werden gesendet an Den Text der Anfrage als Byte, wenn die HTTP-Methode
POST
oderPUT
gleich ausgewählt.Fügen Sie alle erforderlichen Überschriften hinzu.
Informationen zum Erstellen eines HTTP-Zieljobs, der eine Authentifizierung erfordert, finden Sie unter Authentifizierung mit HTTP-Zielen verwenden
Auf ein Ziel ausgerichtete HTTP-Endpunkte müssen öffentlich zugänglich sein.
Sie können Cloud Scheduler zum Einrichten geplanter Arbeitseinheiten, als Cronjobs, die in einigen Fällen an Ziele gesendet werden wiederkehrender Zeitplan, auch Jobintervall oder -häufigkeit.
Es darf immer nur eine Instanz eines Jobs ausgeführt werden. In seltenen Fällen können mehrere Instanzen desselben Jobs angefragt werden. Daher sollte Ihr Anfrage-Handler idempotent ist, und Ihr Code sollte sicherzustellen, dass es in diesem Fall keine schädlichen Nebenwirkungen gibt.
Cloud Scheduler ist für wiederkehrende Jobs vorgesehen. Wenn Sie eine Job nur einmal ausführen. Mit Cloud Tasks lassen sich bis zu 30 Tage im Voraus eine Aufgabe erledigen.
Hinweise
Prüfen Sie, ob Sie Ihre Umgebung für Cloud Scheduler eingerichtet haben.
Zieltyp auswählen
Cloud Scheduler kann die folgenden Zieltypen aufrufen:
HTTP-Endpunkte
App Engine-Dienste
Zieldienste aufrufen, die auf internen eingehenden Traffic beschränkt sind
Cloud Scheduler kann die folgenden Dienste intern aufrufen:
- Cloud Run-Funktionen
- Cloud Run (in der
run.app
-URL, nicht in benutzerdefinierten Domains)
Um diese Ziele intern aufzurufen, muss sich das Ziel im selben Google Cloud-Projekt oder VPC Service Controls-Perimeter als Ihr Cloud Scheduler-Job.
Weitere Informationen zum Schützen von Zielen durch Einschränken von eingehendem Traffic finden Sie unter Eingehenden Traffic einschränken (für Cloud Run) und Netzwerkeinstellungen konfigurieren (für Cloud Run-Funktionen).
Job erstellen
Sie können einen Job entweder mit der Google Cloud Console oder der Google Cloud CLI erstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Scheduler auf.
Klicken Sie auf Job erstellen.
Geben Sie im Feld Name einen eindeutigen Namen für den Job ein. Projekt arbeiten.
Nachdem Sie den zugehörigen Job gelöscht haben, können Sie einen Jobnamen in einem Projekt arbeiten.
Wählen Sie in der Liste Region eine Region aus.
Wenn Sie ein App Engine-HTTP-Ziel verwenden, müssen Sie dasselbe Ziel Region als Ihre App Engine-Anwendung. Weitere Informationen finden Sie unter Unterstützte Regionen nach Ziel.
Geben Sie optional eine kurze Beschreibung des Jobs an, in der z. B. der Zweck des Jobs als Erinnerungshilfe genannt ist.
Die Beschreibung wird in der Konsole neben dem Jobnamen angezeigt.
Geben Sie mit einem Konfigurationsstring an, mit welcher Häufigkeit der Job ausgeführt werden soll.
Mit dem String
0 1 * * 0
wird der Job beispielsweise einmal pro Woche um 1:00 Uhr ausgeführt. jeden Sonntagmorgen. Der hier angegebene String kann ein beliebiger Unix-Cron-kompatibler String sein. Weitere Informationen finden Sie unter Zeitpläne für Cronjobs konfigurieren.Wählen Sie in der Liste Zeitzone die Zeitzone für den Jobplan aus.
Klicken Sie auf Weiter.
Geben Sie den Zieltyp an:
Pub/Sub: Sie müssen geben Sie den Namen des Pub/Sub-Themas an, die bereits in Ihrem Projekt eingerichtet sind und in dem der Job veröffentlicht wird.
App Engine-HTTP: Sie müssen die App Engine-Anwendung und die Region verwenden, die mit dem aktuellen Projekt verknüpft ist.
Klicken Sie auf Weiter.
Optional: Klicken Sie zum Konfigurieren eines Wiederholungsverhaltens auf Konfigurieren Sie optionale Einstellungen. Zur Angabe der Dauer verwenden Sie eine Sequenz von nicht negativen Ganzzahlen mit den folgenden Einheitensuffixen:
- h: Stunde
- m: Minute
- s: Sekunde
- ms – Millisekunde
- us – Mikrosekunde
- ns – Nanosekunde
Negative Werte und Bruchwerte sind nicht zulässig. Das Feld
Max retry duration
unterstützt nur die Werteh
,m
unds
. SowohlMin backoff duration
als auchMax backoff duration
unterstützen das vollständige Set.Konfigurieren Sie optional für HTTP- und App Engine-HTTP-Ziele eine Frist für Jobversuche. Wenn der Anfrage-Handler nicht innerhalb dieses Zeitlimits antwortet, wird die Anfrage abgebrochen und der Versuch als fehlgeschlagen markiert. Cloud Scheduler wiederholt den Job gemäß der Wiederholungskonfiguration.
Klicken Sie auf Erstellen, um den Job zu erstellen und zu speichern.
Der Job wird jetzt mit der angegebenen Häufigkeit ausgeführt.
gcloud
Wenn Sie einen Job über die gcloud CLI erstellen, verwenden Sie andere Befehle für jeden Zieltyp:
HTTP
Sie können Anfragen an beliebige HTTP- oder HTTPS-Endpunkte senden. Auf ein Ziel ausgerichtete HTTP-Endpunkte müssen öffentlich zugänglich sein.
gcloud scheduler jobs create http JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --uri=URI
Ersetzen Sie Folgendes:
JOB
: ein Jobname, der in der Projekt arbeiten. Sie können Jobnamen in einem Projekt nicht wiederverwenden, selbst wenn Sie zugehörigen Job löschen.LOCATION
: Der Standort, an dem der Job ausgeführt werden soll.SCHEDULE
: Häufigkeit oder Jobintervall, mit dem der Job ausgeführt werden soll, z. B.every 3 hours
. Die den Sie hier angeben, kann beliebiges unix-cron kompatiblen String. Die alte Cron-Syntax von App Engine wird zwar nicht mehr empfohlen, wird aber für vorhandene Jobs weiterhin unterstützt.Weitere Informationen finden Sie unter Konfigurieren Sie Cronjob-Zeitpläne.
URI
: der voll qualifizierte URI des Endpunkts an den der Job gesendet wird.
Andere Parameter werden in der gcloud-Befehlszeilenreferenz:
Geben Sie optional die HTTP-Methode an. Der Standardwert ist
POST
.Geben Sie optional die Daten an, die an das Ziel gesendet werden sollen. Diese Daten sind im Text der Anfrage als Byte gesendet, wenn entweder
POST
oderPUT
HTTP-Methode ist ausgewählt.Legen Sie optional die Wiederholungswerte fest, die angeben, wie die App Engine im Falle eines Fehlers wiederholt werden muss. In den meisten Fällen sind die Standardeinstellungen ausreichend.
Informationen zum Erstellen eines HTTP Target-Jobs, der eine Authentifizierung erfordert, finden Sie unter Authentifizierung mit HTTP-Zielen verwenden
Beispiel
gcloud scheduler jobs create http my-http-job \ --schedule "0 1 * * 0" \ --uri "http://myproject/my-url.com" \ --http-method GET
Pub/Sub
Sie müssen ein bereits eingerichtetes Pub/Sub-Thema verwenden in Ihrem Projekt. Cloud Scheduler veröffentlicht Nachrichten an als Google API-Dienstkonto.
gcloud scheduler jobs create pubsub JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --topic=TOPIC
Ersetzen Sie Folgendes:
JOB
: ein Jobname, der in der Projekt arbeiten. Sie können Jobnamen in einem Projekt nicht wiederverwenden, selbst wenn Sie zugehörigen Job löschen.LOCATION
: Der Standort, an dem der Job ausgeführt werden soll.SCHEDULE
: Häufigkeit oder Job Intervall, in dem der Job ausgeführt werden soll, z. B.every 3 hours
. Der hier angegebene String kann ein beliebiger Unix-Cron-kompatibler String sein. Die alte Cron-Syntax von App Engine wird zwar nicht mehr empfohlen, aber für vorhandene Jobs weiterhin unterstützt.Weitere Informationen finden Sie unter Konfigurieren Sie Cronjob-Zeitpläne.
TOPIC
: der Name des Themas, zu dem der Job gehört veröffentlicht. Verwenden Sie das Flag--message-body
oder--message-body-from-file
, um eine Nachricht anzugeben, die an das Thema gesendet werden soll. Sie wird in der Pub/Sub-Nachricht als Parameterdata
gesendet. Ein Beispiel dafür finden Sie in der Kurzanleitung.
Andere Parameter werden in der gcloud-Befehlszeilenreferenz.
Beispiel
gcloud scheduler jobs create pubsub myjob \ --schedule "0 1 * * 0" \ --topic cron-topic \ --message-body "Hello"
App Engine HTTP
Das Ziel App Engine HTTP
ist nur für die App Engine-Anwendung verfügbar, die dem aktuellen Projekt zugeordnet ist. Wenn Sie eine andere App Engine-Anwendung außerhalb Ihres aktuellen Projekts verwenden möchten, wählen Sie HTTP
als Ziel und nicht App Engine HTTP
. Die Zielfirewallregeln müssen
Anfragen aus dem IP-Bereich 0.1.0.2/32 zulassen.
App Engine-Endpunkte können mit login: admin
für das Element handlers
in der Datei app.yaml
gesichert werden.
gcloud scheduler jobs create app-engine \ --JOB=JOB \ --location=LOCATION \ --schedule=SCHEDULE
Ersetzen Sie Folgendes:
JOB
: ein Jobname, der in der Projekt arbeiten. Sie können Jobnamen in einem Projekt nicht wiederverwenden, selbst wenn Sie zugehörigen Job löschen.LOCATION
: Der Speicherort, an dem der Job ausgeführt werden soll. Dieser muss mit dem Speicherort Ihrer App Engine-Anwendung übereinstimmen.SCHEDULE
: Häufigkeit oder Jobintervall, mit dem der Job auszuführen ist, z. B.every 3 hours
. Der hier angegebene String kann ein beliebiger Unix-Cron-kompatibler String sein. Obwohl wir ihre Verwendung nicht mehr empfehlen, Cron-Syntax von App Engine wird für vorhandene Jobs weiterhin unterstützt.Weitere Informationen finden Sie unter Zeitpläne für Cronjobs konfigurieren.
Weitere Parameter werden in der gcloud-Befehlszeilenreferenz beschrieben:
Geben Sie die relative URL des App Engine-Endpunkts an, an den sich der Job richtet. Wenn Sie den Standardwert
/
verwenden, verwendet der JobPROJECT-ID.appspot.com
, wobeiPROJECT-ID
Ihre aktuelle Projekt-ID ist.Geben Sie den Namen des App Engine-Dienstes an, der den Handler für den Cloud Scheduler-Job ausführt. Wenn nichts angegeben ist, wird der Wert
default
wird angenommen. Sie können die Dienstnamen auch in der Google Cloud Console.Legen Sie optional die HTTP-Methode fest, die bei Ausführung des Jobs verwendet werden soll. Der Standardwert ist
POST
.Geben Sie optional die Version an. Wenn die Richtlinie nicht konfiguriert ist, -Version verwendet wird. Sie finden die verfügbaren Versionen in der Google Cloud Console.
Geben Sie optional die Instanz an. Wenn Sie keine Instanz angeben, wird eine beliebige verfügbare Instanz verwendet. Sie finden die verfügbaren Versionen in der Google Cloud Console.
Geben Sie optional die Daten an, die an das Ziel gesendet werden sollen. Diese Daten werden gesendet im Text der Anfrage als Byte, wenn entweder die HTTP-Anfrage
POST
oderPUT
-Methode ausgewählt ist.Legen Sie optional die Wiederholungswerte fest, die angeben, wie die App Engine im Falle eines Fehlers wiederholt werden muss. In den meisten Fällen sind die Standardeinstellungen ausreichend.
Beispiel
gcloud scheduler jobs create app-engine my-appengine-job \ --schedule "0 1 * * 0" \ --relative-url "/cron-handler"
Job bearbeiten
Sie können die Konfiguration eines Jobs bearbeiten.
Console
Rufen Sie in der Google Cloud Console die Seite Cloud Scheduler auf.
Wählen Sie den Job aus, den Sie bearbeiten möchten.
Klicken Sie auf Bearbeiten.
Folgen Sie der Anleitung, um den Zeitplan zu definieren, die Ausführung zu konfigurieren optionale Einstellungen beim Erstellen eines Jobs konfigurieren.
gcloud
Wenn Sie einen Job über die gcloud CLI bearbeiten, verwenden Sie andere Befehle für jeden Zieltyp:
HTTP
Sie können Anfragen an beliebige HTTP- oder HTTPS-Endpunkte senden. Auf ein Ziel ausgerichtete HTTP-Endpunkte müssen öffentlich zugänglich sein.
gcloud scheduler jobs update http JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --uri=URI
Ersetzen Sie Folgendes:
JOB
: ein Jobname, der in der Projekt arbeiten. Sie können Jobnamen in einem Projekt nicht wiederverwenden, auch wenn Sie den zugehörigen Job gelöscht haben.LOCATION
: Der Standort, an dem Ihr Job ausgeführt wird. Wenn Sie keinen Speicherort angeben, verwendet die gcloud CLI Ihren standardmäßigen Standort. Wenn sich der Job, den Sie bearbeiten möchten, an einem anderen Speicherort befindet, müssen Sie zusätzlich zuNAME
den Speicherort angeben, damit der Job gefunden werden kann. Sie können den Standort des Jobs nicht aktualisieren.SCHEDULE
: Häufigkeit oder Job Intervall, in dem der Job ausgeführt werden soll, z. B.every 3 hours
. Die den Sie hier angeben, kann beliebiges unix-cron kompatiblen String. Die alte Cron-Syntax von App Engine wird zwar nicht mehr empfohlen, aber für vorhandene Jobs weiterhin unterstützt.Weitere Informationen finden Sie unter Konfigurieren Sie Cronjob-Zeitpläne.
URI
: der vollständig qualifizierte URI des Endpunkts, an den sich der Job richtet.
Weitere Parameter werden in der gcloud-Befehlszeilenreferenz beschrieben.
Beispiel
gcloud scheduler jobs update http my-http-job \ --schedule "0 1 * * 0" \ --uri "http://myproject/my-url.com" \ --http-method GET
Pub/Sub
Sie müssen ein bereits eingerichtetes Pub/Sub-Thema verwenden in Ihrem Projekt. Cloud Scheduler veröffentlicht Nachrichten an als Google API-Dienstkonto.
gcloud scheduler jobs update pubsub JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --topic=TOPIC
Ersetzen Sie Folgendes:
JOB
: ein Jobname, der in der Projekt arbeiten. Sie können Jobnamen in einem Projekt nicht wiederverwenden, auch wenn Sie den zugehörigen Job gelöscht haben.LOCATION
: Der Standort, an dem Ihr Job ausgeführt wird. Wenn Sie keinen Speicherort angeben, verwendet die gcloud CLI Ihren standardmäßigen Standort. Wenn sich der Job, den Sie bearbeiten möchten, an einem anderen Speicherort befindet, müssen Sie zusätzlich zuNAME
den Speicherort angeben, damit der Job gefunden werden kann. Sie können nicht den Jobstandort aktualisieren.SCHEDULE
: Häufigkeit oder Jobintervall, mit dem der Job auszuführen ist, z. B.every 3 hours
. Der hier angegebene String kann ein beliebiger Unix-Cron-kompatibler String sein. Obwohl wir ihre Verwendung nicht mehr empfehlen, Cron-Syntax von App Engine wird für vorhandene Jobs weiterhin unterstützt.Weitere Informationen finden Sie unter Konfigurieren Sie Cronjob-Zeitpläne.
TOPIC
: der Name des Themas, zu dem der Job gehört veröffentlicht. Verwenden Sie das Flag--message-body
oder--message-body-from-file
, um eine Nachricht anzugeben, die an das Thema gesendet werden soll. Sie wird in der Pub/Sub-Nachricht als Parameterdata
gesendet. Ein Beispiel, bei dem finden Sie in der Kurzanleitung.
Andere Parameter werden in der gcloud-Befehlszeilenreferenz.
Beispiel
gcloud scheduler jobs update pubsub myjob \ --schedule "0 1 * * 0" \ --topic cron-topic --message-body "Hello"
App Engine HTTP
Das Ziel App Engine HTTP
ist nur für die App Engine verfügbar
App, die mit dem aktuellen Projekt verknüpft ist. Wenn Sie eine andere App Engine-Anwendung außerhalb Ihres aktuellen Projekts verwenden möchten, wählen Sie HTTP
als Ziel und nicht App Engine HTTP
.
App Engine-Endpunkte können mit login: admin
für das Element handlers
in der Datei app.yaml
gesichert werden.
gcloud scheduler jobs update app-engine JOB \ --location=LOCATION \ --schedule=SCHEDULE
Ersetzen Sie Folgendes:
JOB
: ein Jobname, der in der Projekt arbeiten. Sie können Jobnamen in einem Projekt nicht wiederverwenden, auch wenn Sie den zugehörigen Job gelöscht haben.LOCATION
: Der Standort, an dem der Job ausgeführt wird (entspricht dem Standort Ihrer Ziel-App Engine-Anwendung). Wenn Sie den Speicherort nicht angeben, verwendet die gcloud CLI Ihren Standardspeicherort. Wenn sich der zu bearbeitende Job in einem anderen Standort verwenden möchten, müssen Sie neben dem AttributNAME
, damit Ihr Job identifiziert werden kann. Sie können den Standort des Jobs nicht aktualisieren.SCHEDULE
: Häufigkeit oder Jobintervall, mit dem der Job auszuführen ist, z. B.every 3 hours
. Der hier angegebene String kann ein beliebiger Unix-Cron-kompatibler String sein. Obwohl wir ihre Verwendung nicht mehr empfehlen, Cron-Syntax von App Engine wird für vorhandene Jobs weiterhin unterstützt.Weitere Informationen finden Sie unter Zeitpläne für Cronjobs konfigurieren.
Andere Parameter werden in der gcloud-Befehlszeilenreferenz.
Beispiel
gcloud scheduler jobs update app-engine my-appengine-job \ --schedule "0 1 * * 0" \ --relative-url "/cron-handler"
Job anhalten
Sie können die Ausführung eines Jobs anhalten.
Console
Rufen Sie in der Google Cloud Console Cloud Scheduler auf.
Wählen Sie den Job aus, den Sie pausieren möchten.
Klicken Sie auf Pausieren.
gcloud
Öffnen Sie ein Terminalfenster auf dem Computer, auf dem Sie die gcloud CLI installiert haben.
Führen Sie diesen Befehl aus:
gcloud scheduler jobs pause MY_JOB
Ersetzen Sie
MY_JOB
durch den Namen des Jobs, den Sie pausieren möchten.
Wenn ein Job pausiert ist, können Sie ihn auch bearbeiten. Nach der Bearbeitung des Jobs pausiert, bis Sie sie fortsetzen.
Job fortsetzen
Sie können die Ausführung eines pausierten Jobs fortsetzen.
Console
Rufen Sie in der Google Cloud Console Cloud Scheduler auf.
Wählen Sie den Job aus, den Sie fortsetzen möchten.
Der Job muss bereits pausiert sein.
Klicken Sie auf Fortsetzen.
gcloud
Öffnen Sie ein Terminalfenster auf dem Computer, auf dem Sie die gcloud CLI installiert haben.
Führen Sie diesen Befehl aus:
gcloud scheduler jobs resume MY_JOB
Ersetzen Sie
MY_JOB
durch den Namen des Jobs, den Sie fortsetzen möchten.
Job löschen
Sie können einen Job löschen.
Console
Rufen Sie in der Google Cloud Console Cloud Scheduler auf.
Wählen Sie den Job aus, den Sie löschen möchten.
Klicken Sie auf Löschen.
gcloud
Öffnen Sie ein Terminalfenster auf dem Computer, auf dem Sie die gcloud CLI installiert haben.
Führen Sie diesen Befehl aus:
gcloud scheduler jobs delete MY_JOB
Ersetzen Sie
MY_JOB
durch den Namen des zu löschenden Jobs.