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 Guía:

GUIARME


Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  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. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. Habilita las APIs de Batch, Compute Engine, Logging and Cloud Storage:

    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. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  11. Habilita las APIs de Batch, Compute Engine, Logging and Cloud Storage:

    gcloud services enable batch.googleapis.com compute.googleapis.com logging.googleapis.com storage.googleapis.com
  12. 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 usan valores predeterminados la cuenta de servicio de un trabajo, Cuenta de servicio predeterminada de Compute Engine.

    • A fin de obtener los permisos que necesitas para completar este instructivo, haz lo siguiente: solicita a tu administrador que te otorgue el los siguientes roles de IAM:

      Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

      También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

    • Para asegurarte de 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:

  13. Clona el Repositorio de Git por lotes en el directorio actual:
    git clone https://github.com/GoogleCloudPlatform/batch-samples.git
    
  14. Ve al directorio transcoding:
    cd batch-samples/transcoding/
    

Prepara entradas de trabajo

  1. Crea un bucket de Cloud Storage:

    gcloud storage buckets create gs://BUCKET_NAME
    

    Reemplaza BUCKET_NAME por un nombre global único para el bucket.

    El resultado es similar a este:

    Creating gs://BUCKET_NAME/...
    
  2. 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

  1. En el editor de texto que prefieras, abre el archivo de configuración job.json.

  2. 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"
      }
    }
    
  3. Guarda los cambios y cierra el editor de texto.

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

  1. En la consola de Google Cloud, ve a la página Lista de trabajos.

    Ir a Lista de trabajos

  2. En la columna Nombre del trabajo, haz clic en transcodificar.

    Se abrirá la página Detalles del trabajo.

  3. 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. Para este ejemplo, puedes esperar que el trabajo que se completará en aproximadamente 5 minutos.

  4. 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é establecido como Sin errores. Si tu trabajo falla, consulta Solución de problemas en su lugar.

Ve los videos codificados

  1. En la consola de Google Cloud, ve a la página Buckets.

    Ir a Buckets

  2. En la columna Nombre, haz clic en BUCKET_NAME

    Se abrirá la página Detalles del bucket.

  3. En la columna Nombre, haz clic en output/ y, luego, haz clic en uno. de los archivos de video codificados.

    Se abrirá la página Detalles del objeto.

  4. 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 esta .

Borra un proyecto de Google Cloud:

gcloud projects delete PROJECT_ID

Borra los recursos individuales

Si quieres seguir usando el proyecto actual, borra el proyecto recursos que se usan en este instructivo.

Borra el trabajo

Cuando el trabajo por lotes termine de ejecutarse, 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 del 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?