Crea y ejecuta un trabajo de ejemplo
Aprende a crear y ejecutar un trabajo de transcodificación de video de ejemplo en Batch.
Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guiarme:
Antes de comenzar
- 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 -
Asegúrate de que tú y la cuenta de servicio del trabajo tengan los permisos necesarios permisos para completar este instructivo. En este instructivo, se usa la cuenta de servicio predeterminada para un trabajo, que es la cuenta de servicio predeterminada de Compute Engine.
-
Si quieres obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Para crear, ver y borrar trabajos, sigue estos pasos:
-
Editor de trabajos por lotes (
roles/batch.jobsEditor
) en el proyecto -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio predeterminada de Compute Engine
-
Editor de trabajos por lotes (
-
Para crear, ver y borrar buckets de Cloud Storage, sigue estos pasos:
Administrador de almacenamiento (
roles/storage.admin
) en el proyecto -
Para ver los registros de los trabajos, sigue estos pasos:
Visor de registros (
roles/logging.viewer
) en el proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
Para crear, ver y borrar trabajos, sigue estos pasos:
-
Para garantizar que la cuenta de servicio predeterminada de Compute Engine tenga permisos para completar este instructivo, solicita a tu administrador que otorgue a la cuenta de servicio predeterminada de Compute Engine el los siguientes roles de IAM:
-
Informes del agente por lotes (
roles/batch.agentReporter
) en el proyecto -
Para permitir que las tareas accedan a los buckets de Cloud Storage, debes tener el rol de Administrador de almacenamiento (
roles/storage.admin
) en el proyecto. -
Para permitir que los trabajos generen registros en Logging, sigue estos pasos:
Escritor de registros (
roles/logging.logWriter
) en el proyecto
-
Informes del agente por lotes (
-
-
Clona el
repositorio de git de Batch en el directorio actual:
git clone https://github.com/GoogleCloudPlatform/batch-samples.git
-
Ve al directorio
transcoding
:cd batch-samples/transcoding/
Prepara entradas de trabajo
Crea un bucket de Cloud Storage:
gcloud storage buckets create gs://BUCKET_NAME
Reemplaza
BUCKET_NAME
por un nombre único a nivel global para el bucket.El resultado es similar a este:
Creating gs://BUCKET_NAME/...
Copia la secuencia de comandos
transcode.sh
y la carpeta que contiene los archivos de video en tu bucket de Cloud Storage:gcloud storage cp -R transcode.sh input gs://BUCKET_NAME
El resultado es similar a este:
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 trabajo
En el editor de texto que prefieras, abre el archivo de configuración
job.json
.Establece el valor del campo
remotePath
en el nombre de tu bucket de 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" } }
Guarda los cambios y cierra el editor de texto.
Crea el trabajo
transcode
:gcloud batch jobs submit transcode \ --config=job.json \ --location=us-central1
El resultado es similar a este:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...
El trabajo ejecuta 3 tareas de forma simultánea. Cada tarea ejecuta la secuencia de comandos
transcode.sh
, que codifica 1 de 3 archivos de video y lo sube a la bucket de Cloud Storage.
Supervisa el trabajo
En la consola de Google Cloud, ve a la página Lista de trabajos.
En la columna Nombre del trabajo, haz clic en transcode.
Se abrirá la página Detalles del trabajo.
Haz clic en la pestaña Eventos.
En la sección Lista de eventos, puedes supervisar el estado de
transcode
. el trabajo. El tiempo que tarda el trabajo en terminar de colocarse en cola, programarse y ejecutarse varía en función de varios factores. En este ejemplo, el trabajo se completará en alrededor de 5 minutos.Opcional: Para actualizar la página, haz clic en
Actualizar.
Antes de continuar con el siguiente paso, asegúrate de que el estado del trabajo esté configurado como Completado. Si tu trabajo falla, consulta Solución de problemas.
Ve los videos codificados
En la consola de Google Cloud, ve a la página Buckets.
En la columna Nombre, haz clic en BUCKET_NAME.
Se abrirá la página Detalles del bucket.
En la columna Nombre, haz clic en
output/ y, luego, en uno de los archivos de video codificados.Se abrirá la página Detalles del objeto.
Para ver el video codificado, haz clic en Vista previa y, luego, en
Jugar.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Cloud que tiene los recursos.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que usaste en este instructivo.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Borra los recursos individuales
Si deseas seguir usando el proyecto actual, borra los recursos individuales que se usaron en este instructivo.
Borra el trabajo
Una vez que se haya ejecutado el trabajo por lotes, borra el trabajo transcode
:
gcloud batch jobs delete transcode \
--location=us-central1
El resultado es similar a este:
Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress
Si borras un trabajo, también se borrarán sus detalles y su historial. Los registros del trabajo se borran automáticamente al final de la Período de retención de registros de Cloud Logging.
Borra el bucket
Si ya no necesitas el bucket de Cloud Storage que usaste instructivo y su contenido, borra el bucket:
gcloud storage rm gs://BUCKET_NAME \
--recursive
El resultado es similar a este:
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
Borra el repositorio de Git
Si ya no necesitas el repositorio de Git de Batch que clonaste para este instructivo, puedes borrarlo:
cd ../../ && rm -rf batch-samples
¿Qué sigue?
Obtén más información sobre cómo comenzar a usar Batch.
Obtén más información sobre la creación y ejecución de trabajos.