Esta página descreve como executar tarefas do Cloud Run. A execução de uma tarefa cria uma execução de tarefa na qual todas as tarefas têm de ser executadas até à conclusão com êxito para que a execução de tarefa seja bem-sucedida. As execuções de tarefas escrevem registos no Cloud Logging e enviam dados de monitorização para o Cloud Monitoring.
Além destas funcionalidades de registo, também pode ver os detalhes de execução das tarefas para as 1000 execuções mais recentes de uma tarefa através do painel de detalhes de execução, juntamente com todas as execuções que ocorreram nos últimos sete dias. Os detalhes de execução mais antigos são removidos e deixam de estar visíveis no painel de detalhes de execução. No entanto, os registos e os dados de monitorização das execuções mais antigas continuam disponíveis no Cloud Logging e no Cloud Monitoring, sujeitos às políticas de retenção desses produtos.
Funções necessárias
Para receber as autorizações necessárias para as operações descritas nesta página, peça ao seu administrador que lhe conceda uma das seguintes funções da IAM no seu trabalho do Cloud Run:
- Para executar tarefas através da CLI do Google Cloud: Cloud Run Invoker (
roles/run.invoker
) na tarefa do Cloud Run - Para executar tarefas através da Google Cloud consola, substituir configurações de tarefas ou cancelar execuções de tarefas: programador do Cloud Run (
roles/run.developer
) na tarefa do Cloud Run
Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se a sua tarefa do Cloud Run interagir com Google Cloud APIs, como as bibliotecas de cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.
Executar tarefas
Pode executar tarefas através da Google Cloud consola, da Google Cloud CLI, das bibliotecas cliente ou da API REST.
Consola
Para executar uma tarefa:
Localize o trabalho no qual tem interesse.
Clique na tarefa para apresentar a página de detalhes da tarefa.
Clique em Executar.
gcloud
Para executar uma tarefa existente:
gcloud run jobs execute JOB_NAME
Se quiser que o comando aguarde até que a execução seja concluída, use
gcloud run jobs execute JOB_NAME --wait --region=REGION
Substituir:
- JOB_NAME com o nome do trabalho.
- REGION com a região em que o recurso pode ser encontrado.
Em alternativa, defina a propriedade
run/region
.
Bibliotecas cliente
Para executar uma tarefa existente a partir do código:
API REST
Para executar uma tarefa existente, envie um pedido HTTP POST
para o método da API jobs.run
Por exemplo, usar curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run
Substituir:
- ACCESS_TOKEN com um token de acesso válido para uma conta que
tenha as autorizações de IAM para executar uma tarefa.
Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de
gcloud auth print-access-token
. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor. - JOB-NAME com o nome do trabalho.
- REGION com a Google Cloud região da tarefa.
- PROJECT-ID com o Google Cloud ID do projeto.
Executar tarefas imediatamente após a criação
Se usar a linha de comandos, pode especificar a execução da tarefa imediatamente após a criação da mesma:
gcloud run jobs create JOB_NAME --execute-now --region=REGION
Substitua a configuração da tarefa para uma execução específica
Pode substituir os argumentos, as variáveis de ambiente, o número de tarefas e o limite de tempo das tarefas configurados para uma tarefa quando executa uma tarefa definindo estes parâmetros quando inicia uma nova execução de tarefas. Os parâmetros especificados afetam apenas esta execução e não as subsequentes, porque a definição da tarefa subjacente permanece inalterada.
Seguem-se alguns exemplos de utilização comuns:
- Executa a tarefa de forma programática a partir do seu código e quer substituir os argumentos e/ou as variáveis de ambiente, por exemplo, para indicar à tarefa onde os dados de entrada estão localizados para esta execução.
- Tem uma tarefa em que cada tarefa se destina apenas a processar um elemento de dados de entrada. Quer substituir o número de tarefas com base no número de entradas a processar.
- O tempo de execução da tarefa varia entre execuções. Quer substituir o limite de tempo da tarefa com base no tempo de execução esperado da tarefa.
Para substituir a configuração da tarefa para uma execução:
Consola
Localize o trabalho no qual tem interesse.
Clique na tarefa para apresentar a página de detalhes da tarefa.
Clique na seta de expansão junto ao botão Editar e clique em Executar com substituições para apresentar o formulário Executar tarefa com substituições.
Altere os argumentos, as variáveis de ambiente, o número de tarefas e/ou a configuração de tempo limite das tarefas para esta execução conforme pretendido e, de seguida, clique em Executar.
gcloud
Use o comando:
gcloud run jobs execute JOB_NAME \ --args ARGS \ --update-env-vars KEY=VALUE>,KEY_N=VALUE_N \ --tasks TASKS \ --task-timeout TIMEOUT
Substituir
- JOB_NAME com o nome do trabalho.
- ARGS com os argumentos de tarefas desejados
- KEY e VALUE são sincronizados com as variáveis de ambiente pretendidas
- TASKS com o número de tarefas desejado
- TIMEOUT com o tempo limite da tarefa desejado
Bibliotecas cliente
Para executar uma tarefa existente a partir do código, substituindo a configuração da tarefa:
API REST
Para substituir a configuração de uma tarefa existente, envie um pedido HTTP POST
para o ponto final da jobs
API Cloud Run Admin
Por exemplo, usar curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{"overrides": {"containerOverrides": [{"args": ["ARGS"], "env": [{"name": "KEY", "value": "VALUE"}]}], "taskCount": TASK-COUNT, "timeout": "TIMEOUT" }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run
Substituir:
- ACCESS_TOKEN com um token de acesso válido para uma conta que
tenha as autorizações de IAM para executar substituições de tarefas.
Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de
gcloud auth print-access-token
. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor. - JOB_NAME com o nome do trabalho.
- ARGS com argumentos de tarefas.
- KEY e VALUE são sincronizados com variáveis de ambiente.
- TASKS com o número de tarefas.
- TIMEOUT com o tempo limite da tarefa.
- REGION com a Google Cloud região da tarefa.
- PROJECT-ID com o Google Cloud ID do projeto.
Cancelar execução da tarefa
Para parar a execução de uma tarefa do Cloud Run em execução, use a funcionalidade de cancelamento. O cancelamento de uma execução de trabalho interrompe a execução de trabalho atual. As execuções canceladas têm o estado cancelado. Continua a poder ver a execução, incluindo os respetivos dados de configuração, registos e dados de monitorização.
O cancelamento da execução de uma tarefa não reverte os encargos de qualquer utilização de tarefas do Cloud Run durante o tempo em que a tarefa foi executada.
Para cancelar uma execução:
Consola
Clique na tarefa para abrir o painel de detalhes da tarefa.
Selecione a execução da tarefa que quer cancelar.
No menu Ações, clique no ícone de reticências e, de seguida, em Cancelar.
gcloud
Use o comando:
gcloud run jobs executions cancel EXECUTION_NAME
Substitua EXECUTION_NAME
pelo nome da execução.
Este comando pede confirmação. Por isso, responda ao comando introduzindo
y
para confirmar.
Bibliotecas cliente
Para cancelar a execução de uma tarefa a partir do código:
API REST
Para cancelar a execução de uma tarefa, envie um pedido HTTP para solicitar o ponto final da jobs
API Admin do Cloud RunPOST
Por exemplo, usar curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME/executions/EXECUTION-NAME:cancel
Substituir:
- ACCESS_TOKEN com um token de acesso válido para uma conta que
tenha as autorizações de IAM para cancelar execuções de tarefas.
Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de
gcloud auth print-access-token
. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor. - JOB_NAME com o nome do trabalho.
- EXECUTION-NAME com o nome da execução da tarefa.
- REGION com a Google Cloud região da tarefa.
- PROJECT-ID com o Google Cloud ID do projeto.
Elimine uma execução de tarefa
Pode eliminar uma execução de tarefa, mesmo que esteja atualmente em execução. Se eliminar uma execução, impede que esta continue. Para obter detalhes, consulte o artigo Elimine uma execução de tarefa.
O que se segue?
Depois de executar uma tarefa, pode fazer o seguinte:
- Veja os registos de tarefas
- Monitorize o desempenho do trabalho
- Faça a gestão das execuções de tarefas
- Faça a gestão de serviços