Auf dieser Seite wird beschrieben, wie Sie Cloud Run-Jobs ausführen. Bei der Ausführung eines Jobs wird eine Jobausführung erstellt, bei der alle Aufgaben erfolgreich ausgeführt werden müssen, damit die Jobausführung erfolgreich ist. Jobausführungen schreiben Logs in Cloud Logging und senden Monitoring-Daten an Cloud Monitoring.
Zusätzlich zu diesen Logging-Features können Sie sich im Bereich "Ausführungsdetails" auch die Details zur Jobausführung für die letzten 1.000 Ausführungen eines Jobs ansehen sowie alle Ausführungen, die in den letzten sieben Tagen aufgetreten. Ältere Ausführungsdetails werden entfernt und sind nicht mehr im Bereich der Ausführungsdetails sichtbar. Die Logs- und Monitoring-Daten für ältere Ausführungen sind jedoch weiterhin in Cloud Logging und Cloud Monitoring verfügbar, unterliegen den Aufbewahrungsrichtlinien für diese Produkte.
Jobs ausführen
Sie können Jobs mit der Google Cloud Console oder der Google Cloud CLI ausführen.
Console
So führen Sie einen Job aus:
Suchen Sie den gewünschten Job.
Klicken Sie auf den gewünschten Job, um die Seite mit den Jobdetails aufzurufen.
Klicken Sie auf Ausführen.
Befehlszeile
So führen Sie einen vorhandenen Job aus:
gcloud run jobs execute JOB_NAME
Wenn der Befehl warten soll, bis die Ausführung abgeschlossen ist, verwenden Sie
gcloud run jobs execute JOB_NAME --wait
Ersetzen Sie JOB_NAME
durch den Namen des Jobs.
Clientbibliotheken
So führen Sie einen vorhandenen Job aus Code aus:
REST API
Senden Sie zum Ausführen eines vorhandenen Jobs eine HTTP-Anfrage POST
an die API-Methode jobs.run
.
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run
Ersetzen Sie:
- ACCESS_TOKEN durch ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Ausführen eines Jobs hat.
Wenn Sie beispielsweise in gcloud angemeldet sind, können Sie ein Zugriffstoken mit
gcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - JOB-NAME durch den Namen des Jobs.
- REGION durch die Google Cloud-Region des Jobs.
- PROJECT-ID durch die Google Cloud-Projekt-ID.
Jobs sofort nach der Joberstellung ausführen
Wenn Sie die Befehlszeile verwenden, können Sie die Jobausführung unmittelbar nach dem Erstellen eines Jobs festlegen:
gcloud run jobs create JOB_NAME --execute-now
Jobkonfiguration für eine bestimmte Ausführung überschreiben
Sie können die für einen Job konfigurierten Argumente, Umgebungsvariablen, die Anzahl der Aufgaben und das Zeitlimit für Aufgaben überschreiben, wenn Sie einen Job ausführen. Dazu legen Sie diese Parameter fest, wenn Sie eine neue Jobausführung starten. Die von Ihnen angegebenen Parameter wirken sich nur auf diese und nicht auf nachfolgende Ausführungen aus, da die zugrunde liegende Jobdefinition unverändert bleibt. Sie benötigen die run.jobs.runWithOverrides
-Berechtigung, um dieses Feature verwenden zu können.
Die Rollen "Cloud Run-Administrator" und "Cloud Run-Entwickler" haben diese Berechtigung.
Typische Anwendungsfälle:
- Sie führen den Job programmatisch über Ihren Code aus und möchten Argumente und/oder Umgebungsvariablen überschreiben, um beispielsweise dem Job mitzuteilen, wo sich die Eingabedaten für diese Ausführung befinden.
- Sie haben einen Job, bei dem jede Aufgabe nur ein einzelnes Stück der Eingabedaten verarbeiten soll. Sie möchten die Anzahl der Aufgaben auf Basis der Anzahl der zu verarbeitenden Eingaben überschreiben.
- Die Laufzeit Ihres Jobs variiert je nach Ausführung. Sie möchten das Zeitlimit für Aufgaben basierend auf der erwarteten Laufzeit des Jobs überschreiben.
So überschreiben Sie die Jobkonfiguration für eine Ausführung:
Console
Suchen Sie den gewünschten Job.
Klicken Sie auf den gewünschten Job, um die Seite mit den Jobdetails aufzurufen.
Klicken Sie vor der Schaltfläche Bearbeiten auf den Erweiterungspfeil und dann auf Mit Überschreibungen ausführen, um das Formular Job mit Überschreibungen ausführen aufzurufen.
Ändern Sie die Argumente, Umgebungsvariablen, die Anzahl der Aufgaben und/oder die Zeitüberschreitung bei der Aufgabe für diese Ausführung nach Bedarf und klicken Sie dann auf Ausführen.
Befehlszeile
Führen Sie den Befehl aus:
gcloud run jobs execute JOB_NAME \ --args ARGS \ --update-env-vars KEY=VALUE>,KEY_N=VALUE_N \ --tasks TASKS \ --task-timeout TIMEOUT
Ersetzen Sie
- JOB_NAME durch den Namen des Jobs.
- ARGS durch die gewünschten Jobargumente
- KEY und VALUE-Paare durch die gewünschten Umgebungsvariablen
- TASKS durch die gewünschte Anzahl an Aufgaben
- TIMEOUT durch das gewünschte Aufgabenzeitlimit
Clientbibliotheken
So führen Sie einen vorhandenen Job aus Code aus und überschreiben die Jobkonfiguration:
REST API
Wenn Sie die Jobkonfiguration für einen vorhandenen Job überschreiben möchten, senden Sie eine POST
-HTTP-Anfrage an den Endpunkt jobs
der Cloud Run Admin API
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{"overrides": {"containerOverrides": [{"args": ["ARGS"], "env": [{"name": "KEY", "value": "VALUE"}]}], "taskCount": TASK-COUNT, "timeout": "TIMEOUT" }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run
Ersetzen Sie:
- ACCESS_TOKEN durch ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Ausführen von Jobüberschreibungen hat.
Wenn Sie beispielsweise in gcloud angemeldet sind, können Sie ein Zugriffstoken mit
gcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - JOB_NAME durch den Namen des Jobs.
- ARGS durch Jobargumente.
- KEY und VALUE werden mit Umgebungsvariablen gekoppelt.
- TASKS durch die Anzahl der Aufgaben.
- TIMEOUT durch das Zeitlimit für Aufgaben.
- REGION durch die Google Cloud-Region des Jobs.
- PROJECT-ID durch die Google Cloud-Projekt-ID.
Jobausführung abbrechen
Verwenden Sie das Abbruchfeature, um einen derzeit ausgeführten Cloud Run-Job zu beenden. Das Abbrechen einer Jobausführung beendet die aktuelle Jobausführung. Abgebrochene Ausführungen haben den Status Abgebrochen. Die Ausführung wird weiterhin angezeigt, einschließlich der Konfigurationsdaten, Logs und Monitoringdaten.
Durch das Abbrechen einer Jobausführung werden die Gebühren für Cloud Run-Jobnutzungen für die Zeit, in der der Job ausgeführt wurde, nicht rückgängig gemacht.
So brechen Sie eine Ausführung ab:
Console
Klicken Sie auf die Jobausführung, um die Seite mit den Ausführungsdetails aufzurufen.
Klicken Sie auf Abbrechen.
Befehlszeile
Führen Sie den Befehl aus:
gcloud run jobs executions cancel EXECUTION_NAME
Ersetzen Sie EXECUTION_NAME
durch den Namen der Ausführung.
Mit diesem Befehl werden Sie zum Bestätigen aufgefordert. Antworten Sie daher auf die Eingabeaufforderung, indem Sie zur Bestätigung y
eingeben.
Clientbibliotheken
So brechen Sie eine Jobausführung aus Code ab:
REST API
Senden Sie zum Abbrechen einer Jobausführung eine POST
-HTTP-Anfrage an den Endpunkt jobs
der Cloud Run Admin API
Verwenden Sie zum Beispiel curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME/executions/EXECUTION-NAME:cancel
Ersetzen Sie:
- ACCESS_TOKEN durch ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Abbrechen von Jobausführungen hat.
Wenn Sie beispielsweise in gcloud angemeldet sind, können Sie ein Zugriffstoken mit
gcloud auth print-access-token
abrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - JOB_NAME durch den Namen des Jobs.
- EXECUTION-NAME durch den Namen der Jobausführung.
- REGION durch die Google Cloud-Region des Jobs.
- PROJECT-ID durch die Google Cloud-Projekt-ID.
Jobausführung löschen
Sie können eine Jobausführung löschen, auch wenn sie gerade ausgeführt wird. Wenn Sie eine Ausführung löschen, wird die Ausführung beendet. Weitere Informationen finden Sie unter Jobausführung löschen.
Nächste Schritte
Nachdem Sie einen Job ausgeführt haben, können Sie Folgendes tun: