Nesta página, você aprenderá como usar o Cloud AutoML para processar operações de longa duração no AutoML Tables.
Introdução
Algumas operações no AutoML Tables levam algum tempo para serem concluídas:
- datasets.importData
- datasets.exportData
- datasets.delete
- models.batchPredict
- models.create
- models.delete
- models.deploy
- models.exportEvaluatedExamples
- models.undeploy
Se você estiver usando o console do Google Cloud, poderá fechar a janela do navegador sem afetar a operação. O painel é atualizado quando a operação é concluída.
Quando você faz uma chamada de API que leva muito tempo para ser concluída, a chamada inicial retorna imediatamente, mesmo que a operação ainda esteja sendo executada. Há alguns métodos auxiliares que podem ser usados para determinar o status de uma operação de longa duração.
O AutoML Tables envia aos proprietários do projeto um e-mail quando as operações de longa duração são concluídas.
Como pesquisar o status de uma operação
É possível pesquisar o status de uma operação de longa duração. Essa abordagem não bloqueia o programa, mas é necessário que você continue pesquisando até que a operação seja concluída.
Para ver o status da operação, use o ID recebido na resposta quando você iniciou a operação. O ID da operação não é exibido no console do Google Cloud.
No comando abaixo, substitua operation-name pelo nome completo da operação. O nome completo tem o formato projects/{project-id}/locations/us-central1/operations/{operation-id}
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://automl.googleapis.com/v1beta1/operation-name
Para operações de importação, é exibida uma saída similar à seguinte: na saída,
há um objeto metadata
com informações específicas ao tipo de solicitação. O campo done
mostra se a operação foi concluída ou não. Se a operação estiver concluída, a resposta conterá informações sobre o efeito da solicitação.
{ "name": "projects/1234/locations/us-central1/operations/TBL2126", "metadata": { ... }, "done": true, "response": { ... } }
Como alterar o tempo de espera de uma operação
Se você quiser bloquear a execução na operação, aguarde a conclusão dela ou especifique um tempo limite.
No comando abaixo, substitua:
operation-name pelo nome completo da operação. O nome completo tem o formato
projects/{project-id}/locations/us-central1/operations/{operation-id}
. O ID da operação não é exibido no console do Google Cloud.timeout pelo tempo máximo que você quer esperar, em (fracionário) segundos, encerrado por "s". Por exemplo, inserir “4,5s” faz com que o comando de espera retorne em 4,5 segundos se a operação ainda estiver sendo executada.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ -d '{"timeout":"timeout"}' \ https://automl.googleapis.com/v1beta1/operation-name:wait
Como cancelar uma operação
É possível cancelar uma tarefa de importação ou treinamento, basta usar o ID da operação. Não há garantia de que a operação será realmente cancelada. Se você cancelar uma tarefa de treinamento, ainda será cobrado por qualquer tempo de treinamento usado.
Não é possível cancelar uma operação.
No comando abaixo, substitua operation-name pelo nome completo da operação.
O nome completo tem o formato projects/{project-id}/locations/us-central1/operations/{operation-id}
.
O ID da operação não é exibido no console do Google Cloud.
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://automl.googleapis.com/v1beta1/operation-name:cancel