Jobartefakte vorbereiten

Erfahren Sie, wie Sie ein Jobartefakt für Ihre Jobs und Jobläufe erstellen.

Das Jobartefakt darf maximal 4 GB umfassen. Es gibt folgende Typen von Jobartefakte:

Python-Dateien

Das Artefakt kann eine einfache Python-Datei sein, die Code zur Ausführung eines Jobs enthält, wie dieses Beispiel für eine Python-Datei:

# simple job
import time
 
print("Hello job world!")
time.sleep(3)
print("Job Done.")

Dieser Job gibt zwei Meldungen mit einer Ruhepause von drei Sekunden dazwischen aus. Sie können den Code in einer einzelnen hello_world_job.py-Datei speichern und dann als Job ausführen. Bei Jobläufen ist Python bereits vorinstalliert, und der Code kann mit allen Python-System-Librarys ausgeführt werden.

In diesem Beispiel werden keine Python-Drittanbieter-Librarys verwendet. Sie steuern die installierten Python-Librarys und -Umgebungen, indem Sie den Job in einer Conda-Umgebung verwenden.

Bash- oder Shellskripte

Sie können eine einzelne Skriptdatei wie in diesem Beispiel oder eine komplexere Datei verwenden:

#!/bin/bash
var=$1
if [ -z "$var" ]
then
      echo "no argument provided"
      exit 100
else
      while [ "$1" != "" ]; do
        echo "Received: ${1}" && shift;
      done
fi

Diese Joblauftypen werden mit Oracle Linux ausgeführt.

ZIP- oder komprimierte TAR-Dateien

Oft sind Ihre Projekte komplexer und erfordern mehr Code als in einer einzigen Datei möglich ist. Wenn Sie komplexe Python-Projekt- und Shellskripte verwenden, können Sie den gesamten Inhalt archivieren und als Job ausführen. Mit einer Fat-JAR-Datei können Sie Java-Code als Job ausführen.

Es gelten keine besonderen Anforderungen dazu, wie Sie Ihren Python-Code oder das Shellskript für die Ausführung als Job schreiben. Sie können mit dem Parameter JOB_RUN_ENTRYPOINT auf die Hauptdatei verweisen, nachdem Sie das ZIP- oder komprimierte Tarartefakt hochgeladen haben.

Die ZIP- und komprimierten Tarartefakte können auch eine YAML-Laufzeitdatei enthalten, in der die erforderlichen Umgebungsvariablen für den Joblauf festgelegt werden.

Hinweise zu Archivdateien:

  • Der gesamte Code muss unter einem Root-Verzeichnis archiviert werden.

  • Der Dateiname muss mit dem Root-Verzeichnisnamen übereinstimmen, den Sie mit JOB_RUN_ENTRYPOINT festlegen.

    Die JOB_RUN_ENTRYPOINT wird auf der Seite "Joblaufdetails" angezeigt, wenn sie verwendet wird.

  • Ändern Sie nicht den Namen der Archivdatei, nachdem Sie das Verzeichnis komprimiert haben.

Beginnen Sie mit dem Beispiel, indem Sie die Datei zipped_python_job.zip herunterladen, entpacken und prüfen.

Die ZIP-Datei enthält einen einfachen Loggingjob, der in einer ZIP-Datei unter dem Verzeichnis zipped_python_job/ archiviert wird. Sie können den Job ausführen, indem Sie den Speicherort der python-Hauptdatei angeben, indem Sie die Umgebungsvariable JOB_RUN_ENTRYPOINT entweder in der OCI-Konsole oder mit dem OCI-SDK festlegen:

"environmentVariables": {
    "JOB_RUN_ENTRYPOINT": "zipped_python_job/entry.py"
}

Führen Sie die folgenden Schritte aus, um eine Jobartefaktdatei zu erstellen:

  1. Erstellen Sie ein Root-Verzeichnis für das Projekt.
  2. Erstellen Sie den Jobcode unter dem Root-Verzeichnis. Der ganze Jobcode muss sich im Root-Verzeichnis befinden.
  3. Komprimieren Sie das Root-Verzeichnis in eine ZIP- oder TAR-Datei.

Jetzt können Sie die Archivdatei als Jobartefakt hochladen, wenn Sie einen Job erstellen. Fügen Sie beim Erstellen des Jobs JOB_RUN_ENTRYPOINT als benutzerdefinierte Umgebungsvariable in der Jobkonfiguration hinzu.