Criar e executar um job de exemplo
Saiba como criar e executar um exemplo de job de transcodificação de vídeo no Batch.
Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Batch, Compute Engine, Logging and Cloud Storage:
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
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Batch, Compute Engine, Logging and Cloud Storage:
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
Confirme se você e a conta de serviço do job têm as permissões para concluir este tutorial. Neste tutorial, usamos o conta de serviço para um job, que é a Conta de serviço padrão do Compute Engine
-
Para receber as permissões necessárias para concluir este tutorial, faça o seguinte: peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para criar, visualizar e excluir jobs:
-
Editor de jobs em lote (
roles/batch.jobsEditor
) no projeto -
Usuário da conta de serviço (
roles/iam.serviceAccountUser
) na conta de serviço padrão do Compute Engine
-
Editor de jobs em lote (
-
Para criar, visualizar e excluir buckets do Cloud Storage:
Administrador do Storage (
roles/storage.admin
) no projeto -
Para ver registros de jobs:
Visualizador de registros (
roles/logging.viewer
) no projeto
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
-
Para criar, visualizar e excluir jobs:
-
Para que a conta de serviço padrão do Compute Engine tenha as permissões necessárias para concluir este tutorial, peça ao administrador para conceder à conta de serviço padrão do Compute Engine os seguintes papéis do IAM:
-
Batch Agent Reporter (
roles/batch.agentReporter
) no projeto -
Para permitir que os jobs acessem buckets do Cloud Storage:
Administrador do Storage (
roles/storage.admin
) no projeto -
Para permitir que os jobs gerem registros no Logging:
Gravador de registros (
roles/logging.logWriter
) no projeto
-
Batch Agent Reporter (
-
-
Clone o
Coloque o repositório git em lote no diretório atual:
git clone https://github.com/GoogleCloudPlatform/batch-samples.git
-
Acesse o diretório
transcoding
:cd batch-samples/transcoding/
Preparar entradas de jobs
Crie um bucket do Cloud Storage:
gcloud storage buckets create gs://BUCKET_NAME
Substitua
BUCKET_NAME
por um nome globalmente exclusivo para a do Google Cloud.O resultado será assim:
Creating gs://BUCKET_NAME/...
Copie o script
transcode.sh
e a pasta que contém os arquivos de vídeo para seu bucket do Cloud Storage:gcloud storage cp -R transcode.sh input gs://BUCKET_NAME
O resultado será assim:
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
Criar um job
Em um editor de texto de sua preferência, abra o arquivo de configuração
job.json
.Defina o valor do campo
remotePath
como o nome da sua Bucket do 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" } }
Salve as alterações e feche o editor de texto.
Crie o job
transcode
:gcloud batch jobs submit transcode \ --config=job.json \ --location=us-central1
O resultado será assim:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...
O job executa três tarefas ao mesmo tempo. Cada tarefa executa o script
transcode.sh
, que codifica um de três arquivos de vídeo e o envia para o do bucket do Cloud Storage.
Monitorar o job
No console do Google Cloud, acesse a página Lista de jobs.
Na coluna Nome do job, clique em transcodificação.
A página Detalhes do job será aberta.
Clique na guia Eventos.
Na seção Lista de eventos, é possível monitorar o status do
transcode
trabalho. O tempo que o job leva para ser colocado na fila, programado e da execução varia com base em vários fatores. Para este exemplo, você espera que o job terminar em cerca de 5 minutos.Opcional: para atualizar a página, clique em
Atualizar.
Antes de prosseguir para a próxima etapa, certifique-se de que o status do job esteja definido para Concluído. Se o job falhar, consulte Solução de problemas.
Visualizar os vídeos codificados
No console do Google Cloud, acesse a página Buckets.
Na coluna Nome, clique em BUCKET_NAME;
A página Detalhes do bucket é aberta.
Na coluna Nome, clique em
output/ e depois clique em um dos arquivos de vídeo codificados.A página Detalhes do objeto é aberta.
Para exibir o vídeo codificado, clique em Visualizar e em
Jogar.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses recursos.
Exclua o projeto
A maneira mais fácil de evitar cobranças é excluindo o projeto que você usou neste .
Exclua um projeto do Google Cloud:
gcloud projects delete PROJECT_ID
Excluir recursos individuais
Se quiser continuar usando o projeto atual, exclua o projeto recursos usados neste tutorial.
Excluir o job
Depois que o job em lote terminar a execução, exclua o
Job transcode
:
gcloud batch jobs delete transcode \
--location=us-central1
O resultado será assim:
Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress
A exclusão de um job também exclui os detalhes e o histórico dele. Os registros do job são excluídos automaticamente no final do Período de armazenamento de registros do Cloud Logging.
Excluir o bucket
Se você não precisar mais do bucket do Cloud Storage usado tutorial e o conteúdo dele, exclua o bucket:
gcloud storage rm gs://BUCKET_NAME \
--recursive
O resultado será assim:
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
Excluir o repositório git
Se você não precisar mais do repositório git do Batch que clonou para este tutorial, é possível excluí-lo:
cd ../../ && rm -rf batch-samples
A seguir
Saiba como começar a usar o Batch.
Saiba mais sobre criação e execução de jobs.