Beispieljob erstellen und ausführen
Hier erfahren Sie, wie Sie einen Beispiel-Batchverarbeitungsjob erstellen und ausführen, der Videos mit Batch für Google Cloudtranscodiert.
Eine detaillierte Anleitung dazu finden Sie direkt in der Google Cloud Console. Klicken Sie dazu einfach auf Anleitung:
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Batch, Compute Engine, Logging and Cloud Storage APIs:
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Batch, Compute Engine, Logging and Cloud Storage APIs:
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Achten Sie darauf, dass Sie und das Dienstkonto des Jobs die erforderlichen Berechtigungen haben, um dieses Tutorial abzuschließen. In dieser Anleitung wird das Standarddienstkonto für einen Job verwendet, also das Compute Engine-Standarddienstkonto.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieser Anleitung benötigen:
-
So erstellen, sehen Sie sich Jobs an und löschen Sie sie:
-
Batch-Job-Editor (
roles/batch.jobsEditor
) für das Projekt -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) für das Compute Engine-Standarddienstkonto
-
Batch-Job-Editor (
-
So erstellen, sehen und löschen Sie Cloud Storage-Buckets:
Storage-Administrator (
roles/storage.admin
) für das Projekt -
So rufen Sie Logs von Jobs auf:
Logbetrachter (
roles/logging.viewer
) für das Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
So erstellen, sehen Sie sich Jobs an und löschen Sie sie:
-
Bitten Sie Ihren Administrator, dem Compute Engine-Standarddienstkonto die folgenden IAM-Rollen zu gewähren, damit das Compute Engine-Standarddienstkonto die erforderlichen Berechtigungen zum Ausführen dieser Anleitung hat:
-
Batch-Agent-Melder (
roles/batch.agentReporter
) für das Projekt -
So gewähren Sie Jobs Zugriff auf Cloud Storage-Buckets:
Storage-Administrator (
roles/storage.admin
) für das Projekt -
So lassen Sie Jobs Logs in Logging generieren:
Logautor (
roles/logging.logWriter
) für das Projekt
-
Batch-Agent-Melder (
-
-
Klonen Sie das
Batch-Git-Repository in das aktuelle Verzeichnis:
git clone https://github.com/GoogleCloudPlatform/batch-samples.git
-
Wechseln Sie in das Verzeichnis
transcoding
:cd batch-samples/transcoding/
Job-Eingaben vorbereiten
Erstellen Sie einen Cloud Storage-Bucket:
gcloud storage buckets create gs://BUCKET_NAME
Ersetzen Sie
BUCKET_NAME
durch einen global eindeutigen Namen für den Bucket.Die Ausgabe sieht etwa so aus:
Creating gs://BUCKET_NAME/...
Kopieren Sie das
transcode.sh
-Skript und den Ordner mit den Videodateien in Ihren Cloud Storage-Bucket:gcloud storage cp -R transcode.sh input gs://BUCKET_NAME
Die Ausgabe sieht etwa so aus:
Copying file://transcode.sh to gs://BUCKET_NAME/transcode.sh Copying file://input/video-2.mp4 to gs://BUCKET_NAME/input/video-2.mp4 Copying file://input/video-1.mp4 to gs://BUCKET_NAME/input/video-1.mp4 Copying file://input/video-0.mp4 to gs://BUCKET_NAME/input/video-0.mp4 Completed files 4/4 | 37.5MiB/37.5MiB Average throughput: 48.4MiB/s
Job erstellen
Öffnen Sie die Konfigurationsdatei
job.json
in einem Texteditor Ihrer Wahl.Legen Sie den Wert des Felds
remotePath
auf den Namen Ihres Cloud Storage-Bucket fest:{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "bash /mnt/share/transcode.sh" } } ], "computeResource": { "cpuMilli": 2000, "memoryMib": 2048 }, "volumes": [ { "gcs": { "remotePath": "BUCKET_NAME" }, "mountPath": "/mnt/share" } ], "maxRetryCount": 2, "maxRunDuration": "600s" }, "taskCount": 3, "parallelism": 3 } ], "allocationPolicy": { "instances": [ { "policy": { "machineType": "n2d-standard-4", "provisioningModel": "SPOT" } } ] }, "labels": { "department": "creative", "env": "testing" }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Speichern Sie die Änderungen und schließen Sie den Texteditor.
Erstellen Sie den
transcode
-Job:gcloud batch jobs submit transcode \ --config=job.json \ --location=us-central1
Die Ausgabe sieht etwa so aus:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...
Der Job führt drei Aufgaben gleichzeitig aus. Jede Aufgabe führt das Skript
transcode.sh
aus, das eine von drei Videodateien codiert und in den Cloud Storage-Bucket hochlädt.
Job überwachen
Rufen Sie in der Google Cloud Console die Seite Jobliste auf.
Klicken Sie in der Spalte Job name (Jobname) auf transcode (transcodieren).
Die Seite Jobdetails wird aufgerufen.
Klicken Sie auf den Tab Events (Ereignisse).
Im Abschnitt Ereignisliste können Sie den Status des
transcode
-Jobs überwachen. Wie lange es dauert, bis ein Job in die Warteschlange gestellt, geplant und ausgeführt wird, hängt von mehreren Faktoren ab. In diesem Beispiel können Sie davon ausgehen, dass der gesamte Job in etwa 5 Minuten abgeschlossen ist.Optional: Klicken Sie auf
Aktualisieren, um die Seite zu aktualisieren.
Bevor Sie mit dem nächsten Schritt fortfahren, prüfen Sie, ob der Status des Jobs auf Erfolgreich gesetzt ist. Wenn der Job fehlschlägt, lesen Sie stattdessen die Informationen unter Fehlerbehebung.
Codierte Videos ansehen
Rufen Sie in der Google Cloud Console die Seite Buckets auf.
Klicken Sie in der Spalte Name auf BUCKET_NAME.
Die Seite Bucket-Details wird geöffnet.
Klicken Sie in der Spalte Name auf
output/ und dann auf eine der codierten Videodateien.Die Seite Objektdetails wird geöffnet.
Wenn Sie sich das codierte Video ansehen möchten, klicken Sie auf Vorschau und dann auf
Wiedergeben.
Bereinigen
Löschen Sie das Google Cloud -Projekt mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für diese Anleitung erstellten Projekts.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Einzelne Ressourcen löschen
Wenn Sie das aktuelle Projekt weiterhin verwenden möchten, löschen Sie die einzelnen Ressourcen, die in dieser Anleitung verwendet werden.
Job löschen
Löschen Sie den transcode
-Job, nachdem der Batch-Job abgeschlossen ist:
gcloud batch jobs delete transcode \
--location=us-central1
Die Ausgabe sieht etwa so aus:
Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress
Wenn Sie einen Job löschen, werden auch die Details und der Verlauf des Jobs gelöscht. Die Logs des Jobs werden am Ende der Cloud Logging-Log-Aufbewahrungsdauer automatisch gelöscht.
Bucket löschen
Wenn Sie den in dieser Anleitung verwendeten Cloud Storage-Bucket und seinen Inhalt nicht mehr benötigen, löschen Sie den Bucket:
gcloud storage rm gs://BUCKET_NAME \
--recursive
Die Ausgabe sieht etwa so aus:
Removing objects:
Removing gs://BUCKET_NAME/input/video-0.mp4#1694788495332395...
Removing gs://BUCKET_NAME/input/video-2.mp4#1694788495296173...
Removing gs://BUCKET_NAME/input/video-1.mp4#1694788495228839...
Removing gs://BUCKET_NAME/output/video-0.mp4#1694788495332395...
Removing gs://BUCKET_NAME/output/video-2.mp4#1694788495296173...
Removing gs://BUCKET_NAME/output/video-1.mp4#1694788495228839...
Removing gs://BUCKET_NAME/transcode.sh#1694788495039427...
Completed 4/4
Removing Buckets:
Removing gs://BUCKET_NAME/...
Completed 1/1
Git-Repository löschen
Wenn Sie das Batch-Git-Repository, das Sie für diese Anleitung geklont haben, nicht mehr benötigen, können Sie es löschen:
cd ../../ && rm -rf batch-samples