Crea ed esegui un job di esempio
Scopri come creare ed eseguire un job di transcodifica video di esempio su Batch.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Prima di iniziare
- 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.
-
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.
-
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 -
Assicurati che tu e l'account di servizio del job abbiate i necessari autorizzazioni per completare questo tutorial. Questo tutorial utilizza l'account di servizio predefinito per un job, ovvero l'account di servizio predefinito di Compute Engine.
-
Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per creare, visualizzare ed eliminare job:
-
Editor job batch (
roles/batch.jobsEditor
) del progetto -
Utente account di servizio (
roles/iam.serviceAccountUser
) nell'account di servizio predefinito di Compute Engine
-
Editor job batch (
-
Per creare, visualizzare ed eliminare i bucket Cloud Storage:
Amministratore archiviazione (
roles/storage.admin
) del progetto -
Per visualizzare i log dei job:
Visualizzatore log (
roles/logging.viewer
) nel progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Per creare, visualizzare ed eliminare job:
-
Per assicurarti che l'account di servizio predefinito di Compute Engine disponga delle autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concedere all'account di servizio predefinito di Compute Engine i seguenti ruoli IAM:
-
Batch Agent Reporter (
roles/batch.agentReporter
) nel progetto -
Per consentire ai job di accedere ai bucket Cloud Storage:
Amministratore archiviazione (
roles/storage.admin
) del progetto -
Per consentire ai job di generare log in Logging:
Writer log (
roles/logging.logWriter
) nel progetto
-
Batch Agent Reporter (
-
-
Clona il
repository Git di Batch nella directory corrente:
git clone https://github.com/GoogleCloudPlatform/batch-samples.git
-
Vai alla directory
transcoding
:cd batch-samples/transcoding/
Prepara gli input del job
Crea un bucket Cloud Storage:
gcloud storage buckets create gs://BUCKET_NAME
Sostituisci
BUCKET_NAME
con un nome globalmente univoco per la di sincronizzare la directory di una VM con un bucket.L'output è simile al seguente:
Creating gs://BUCKET_NAME/...
Copia lo script
transcode.sh
e la cartella contenente i file video nel tuo bucket Cloud Storage:gcloud storage cp -R transcode.sh input gs://BUCKET_NAME
L'output è simile al seguente:
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
Crea un job
Apri il file di configurazione
job.json
in un editor di testo a tua scelta.Imposta il valore del campo
remotePath
sul nome del tuo Bucket Cloud Storage:{ "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" } }
Salva le modifiche e chiudi l'editor di testo.
Crea il job
transcode
:gcloud batch jobs submit transcode \ --config=job.json \ --location=us-central1
L'output è simile al seguente:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...
Il job esegue 3 attività contemporaneamente. Ogni attività esegue lo script
transcode.sh
, che codifica uno dei tre file video e lo carica nel bucket Cloud Storage.
Monitora il job
Nella console Google Cloud, vai alla pagina Elenco di job.
Nella colonna Nome job, fai clic su Transcodifica.
Si apre la pagina Dettagli job.
Fai clic sulla scheda Eventi.
Nella sezione Elenco eventi puoi monitorare lo stato del
transcode
un lavoro. Il tempo impiegato dal job per completare le fasi di inserimento in coda, pianificazione ed esecuzione varia in base a diversi fattori. Per questo esempio, il job dovrebbe essere completato in circa 5 minuti.(Facoltativo) Per aggiornare la pagina, fai clic su
Aggiorna.
Prima di andare al passaggio successivo, assicurati che lo stato del job sia impostato su Riuscito. Se il job non riesce, vedi Risoluzione dei problemi.
Visualizza i video codificati
Nella console Google Cloud, vai alla pagina Bucket.
Nella colonna Nome, fai clic su BUCKET_NAME.
Viene visualizzata la pagina Dettagli bucket.
Nella colonna Nome, fai clic su
output/, quindi fai clic su una dei file video codificati.Viene visualizzata la pagina Dettagli oggetto.
Per visualizzare il video codificato, fai clic su Anteprima e poi su
Riproduci.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, elimina il progetto Google Cloud con le risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è quello di eliminare il progetto utilizzato in questo tutorial.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Elimina singole risorse
Se vuoi continuare a utilizzare il progetto corrente, elimina le singole risorse utilizzate in questo tutorial.
Elimina il job
Al termine dell'esecuzione del job batch, elimina il
Job transcode
:
gcloud batch jobs delete transcode \
--location=us-central1
L'output è simile al seguente:
Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress
L'eliminazione di un job comporta anche l'eliminazione dei relativi dettagli e della cronologia. I log del job vengono eliminati automaticamente al termine Periodo di conservazione dei log di Cloud Logging.
Elimina il bucket
Se non hai più bisogno del bucket Cloud Storage utilizzato in questo tutorial e dei relativi contenuti, eliminalo:
gcloud storage rm gs://BUCKET_NAME \
--recursive
L'output è simile al seguente:
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
Elimina il repository Git
Se non hai più bisogno del repository Git di Batch che hai clonato per questo tutorial, puoi eliminarlo:
cd ../../ && rm -rf batch-samples
Passaggi successivi
Scopri come iniziare a utilizzare Batch.
Scopri di più su creazione ed esecuzione dei job.