Beispieljob erstellen und ausführen

Hier erfahren Sie, wie Sie einen Beispieljob zur Videotranscodierung in Batch erstellen und ausführen.


Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt in der Google Cloud Console aufzurufen.

Anleitung


Hinweise

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 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
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. 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.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. 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
  12. Achten Sie darauf, dass Sie und das Dienstkonto des Jobs die erforderlichen Berechtigungen zum Ausführen dieser Anleitung. In dieser Anleitung wird die Standardeinstellung Dienstkonto für einen Job. Dabei handelt es sich um das Standardmäßiges Compute Engine-Dienstkonto

    <ph type="x-smartling-placeholder">
    • Um die Berechtigungen zu erhalten, die Sie für diese Anleitung benötigen, bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen:

      • So erstellen, zeigen Sie Jobs an und löschen Jobs: <ph type="x-smartling-placeholder">
      • So erstellen, zeigen Sie Cloud Storage-Buckets an und löschen diese: Storage-Administrator (roles/storage.admin) für das Projekt
      • So rufen Sie Logs von Jobs auf: Loganzeige (roles/logging.viewer) für das Projekt

      Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

      Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    • Damit das Compute Engine-Standarddienstkonto über die erforderlichen zum Ausführen dieser Anleitung, bitten Sie Ihren Administrator, dem Compute Engine-Standarddienstkonto die folgenden IAM-Rollen:

      • Batch-Agent-Melder (roles/batch.agentReporter) für das Projekt
      • So lassen Sie Jobs auf Cloud Storage-Buckets zugreifen: 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

  13. Klonen Sie <ph type="x-smartling-placeholder"></ph> Fügen Sie das Batch-Git-Repository in das aktuelle Verzeichnis ein:
    git clone https://github.com/GoogleCloudPlatform/batch-samples.git
    
  14. Wechseln Sie zum Verzeichnis transcoding:
    cd batch-samples/transcoding/
    

Jobeingaben vorbereiten

  1. Erstellen Sie einen Cloud Storage-Bucket:

    gcloud storage buckets create gs://BUCKET_NAME
    

    Ersetzen Sie BUCKET_NAME durch einen global eindeutigen Namen für die Bucket.

    Die Ausgabe sieht in etwa so aus:

    Creating gs://BUCKET_NAME/...
    
  2. Kopieren Sie das Skript transcode.sh und den Ordner mit den Videodateien in Ihrem Cloud Storage-Bucket:

    gcloud storage cp -R transcode.sh input gs://BUCKET_NAME
    

    Die Ausgabe sieht in 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

  1. Öffnen Sie die Konfigurationsdatei job.json in einem Texteditor Ihrer Wahl.

  2. Legen Sie den Wert des Felds remotePath auf den Namen Ihres Cloud Storage-Bucket:

    {
      "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"
      }
    }
    
  3. Speichern Sie die Änderungen und schließen Sie den Texteditor.

  4. Erstellen Sie den Job transcode:

    gcloud batch jobs submit transcode \
        --config=job.json \
        --location=us-central1
    

    Die Ausgabe sieht in etwa so aus:

    Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted.
    ...
    

    Mit dem Job werden 3 Aufgaben gleichzeitig ausgeführt. In jeder Aufgabe wird das Skript transcode.sh ausgeführt. die 1 von 3 Videodateien codiert und in den Cloud Storage-Bucket.

Job überwachen

  1. Rufen Sie in der Google Cloud Console die Seite Jobliste auf.

    Zur Jobliste

  2. Klicken Sie in der Spalte Jobname auf Transcodieren.

    Die Seite Jobdetails wird aufgerufen.

  3. Klicken Sie auf den Tab Events (Ereignisse).

    Im Bereich Ereignisliste können Sie den Status der transcode Job. 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, in ca. 5 Minuten abgeschlossen sein.

  4. Optional: Klicken Sie zum Aktualisieren der Seite auf Aktualisieren.

Bevor Sie mit dem nächsten Schritt fortfahren, prüfen Sie, ob der Status des Auftrags festgelegt ist auf Succeeded (Erfolgreich). Wenn Ihr Job fehlschlägt, lesen Sie Fehlerbehebung.

Codierte Videos ansehen

  1. Rufen Sie in der Google Cloud Console die Seite Buckets auf.

    Buckets aufrufen

  2. Klicken Sie in der Spalte Name auf BUCKET_NAME

    Die Seite Bucket-Details wird geöffnet.

  3. Klicken Sie in der Spalte Name auf output/ und klicken Sie dann auf eine der codierten Videodateien.

    Die Seite Objektdetails wird geöffnet.

  4. Wenn Sie das codierte Video aufrufen möchten, klicken Sie auf Vorschau und dann auf Wiedergabe.

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, indem Sie das Projekt löschen, das Sie in diesem .

Delete a Google Cloud project:

gcloud projects delete PROJECT_ID

Einzelne Ressourcen löschen

Wenn Sie das aktuelle Projekt weiter verwenden möchten, löschen Sie das einzelne Projekt Ressourcen, die in dieser Anleitung verwendet werden.

Job löschen

Nachdem der Batch-Job ausgeführt wurde, löschen Sie den transcode-Job:

gcloud batch jobs delete transcode \
    --location=us-central1

Die Ausgabe sieht in etwa so aus:

Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress

Beim Löschen eines Jobs werden auch die Details und der Verlauf des Jobs gelöscht. Die Logs des Jobs werden am Ende des Aufbewahrungsdauer von Cloud Logging-Logs.

Bucket löschen

Wenn Sie den hier verwendeten Cloud Storage-Bucket nicht mehr benötigen, für die Anleitung und ihren Inhalt löschen Sie den Bucket:

gcloud storage rm gs://BUCKET_NAME \
    --recursive

Die Ausgabe sieht in 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 geklonte Batch-Git-Repository nicht mehr benötigen können Sie sie für diese Anleitung löschen:

cd ../../ && rm -rf batch-samples

Nächste Schritte