Crea ed esegui un job di esempio
Scopri come creare ed eseguire un job di elaborazione batch di esempio che esegue la transcodifica dei video utilizzando Batch per Google Cloud.
Per seguire le indicazioni dettagliate per questa attività direttamente nella Google Cloud console, fai clic su Procedura guidata:
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Crea un Google Cloud progetto:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il Google Cloud progetto che stai creando. -
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del Google Cloud progetto.
-
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Abilita le API Batch, Compute Engine, Logging e Cloud Storage:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico: puoi selezionare qualsiasi progetto su cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
-
Crea un Google Cloud progetto:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il Google Cloud progetto che stai creando. -
Seleziona il Google Cloud progetto che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del Google Cloud progetto.
-
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Abilita le API Batch, Compute Engine, Logging e Cloud Storage:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), che contiene l'serviceusage.services.enableautorizzazione. Scopri come concedere i ruoli.gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Assicurati che tu e il account di servizio del job disponiate delle autorizzazioni necessarie per completare questo tutorial. Questo tutorial utilizza il account di servizio predefinito per un job, ovvero il service account 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 i job:
-
Batch Job Editor (
roles/batch.jobsEditor) on the project -
Utente account di servizio (
roles/iam.serviceAccountUser) sul service account predefinito di Compute Engine
-
Batch Job Editor (
-
Per creare, visualizzare ed eliminare i bucket Cloud Storage:
Amministratore Storage (
roles/storage.admin) sul progetto -
Per visualizzare i log dei job:
Visualizzatore log (
roles/logging.viewer) sul progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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 i job:
-
Per assicurarti che il account di servizio predefinito di Compute Engine disponga delle autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concedere i seguenti ruoli IAM al account di servizio predefinito di Compute Engine:
-
Batch Agent Reporter (
roles/batch.agentReporter) sul progetto -
Per consentire ai job di accedere ai bucket Cloud Storage:
Amministratore Storage (
roles/storage.admin) sul progetto -
Per consentire ai job di generare log in Logging:
Writer log (
roles/logging.logWriter) sul progetto
-
Batch Agent Reporter (
-
-
Clona il
repository Git per 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_NAMESostituisci
BUCKET_NAMEcon un nome globalmente univoco per il bucket.L'output è simile al seguente:
Creating gs://BUCKET_NAME/...Copia lo script
transcode.she la cartella contenente i file video nel bucket Cloud Storage:gcloud storage cp -R transcode.sh input gs://BUCKET_NAMEL'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
In un editor di testo a tua scelta, apri il file di configurazione
job.json.Imposta il valore del campo
remotePathsul nome del 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-central1L'output è simile al seguente:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...Il job esegue tre 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 Google Cloud console, vai alla pagina Elenco job.
Nella colonna Nome job, fai clic su transcode.
Si apre la pagina Dettagli job.
Fai clic sulla scheda Eventi.
Nella sezione Elenco di eventi puoi monitorare lo stato del job
transcode. 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, puoi prevedere che il job venga completato in circa 5 minuti.(Facoltativo) Per aggiornare la pagina, fai clic su Aggiorna.
Prima di procedere con il passaggio successivo, assicurati che lo stato del job sia impostato su Riuscito. Se il job non va a buon fine, consulta la sezione Risoluzione dei problemi invece.
Visualizza i video codificati
Nella Google Cloud console, vai alla pagina Bucket.
Nella colonna Nome, fai clic BUCKET_NAME.
Si apre la pagina Dettagli bucket.
Nella colonna Nome, fai clic output/, quindi su uno dei file video codificati.
Si apre la pagina Dettagli oggetto.
Per visualizzare il video codificato, fai clic su Anteprima, quindi su Riproduci.
Libera spazio
Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il Google Cloud progetto con le risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto utilizzato in questo tutorial.
Elimina un Google Cloud progetto:
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 dettagli e della cronologia del job. I log del job vengono eliminati automaticamente al termine del 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, elimina il bucket:
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 per 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ù sulla creazione e l'esecuzione dei job.