Para algumas chamadas de API, a Vertex AI retorna nomes de operação. Essas chamadas de API iniciam operações que exigem tempo para serem concluídas e são conhecidas como operações de longa duração. Por exemplo, criar um conjunto de dados, excluir um endpoint ou exportar um modelo são operações de longa duração. Use métodos auxiliares com um nome de operação para receber o status ou cancelar uma operação de longa duração, conforme descrito nas seções a seguir.
Como saber o status de uma operação
Para ver o status da operação, use o nome da operação que estava na resposta quando você solicitou uma operação de longa duração. Por exemplo, quando você cria um
conjunto de dados, a Vertex AI retorna um nome de operação como:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
É possível pesquisar a operação em intervalos regulares para saber quando uma operação for concluída.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- OPERATION_NAME: o nome da operação retornado quando você inicia uma operação de longa duração, como
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME" | Select-Object -Expand Content
Na saída, o objeto metadata
contém informações específicas do tipo de solicitação. O campo done
indica se a operação foi concluída. Se a operação estiver concluída, o objeto response
conterá resultados da operação.
{ "name": "projects/123456789012/locations/us-central1/datasets/1234567890123456789/operations/1223344556677889900", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T16:00:44.686500Z", "updateTime": "2020-10-12T16:01:06.115081Z" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.Dataset", "name": "projects/123456789012/locations/us-central1/datasets/1234567890123456789", "displayName": "image_dataset", "metadataSchemaUri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml", "labels": { "aiplatform.googleapis.com/dataset_metadata_schema": "IMAGE" }, "metadata": { "dataItemSchemaUri": "gs://google-cloud-aiplatform/schema/dataset/dataitem/image_1.0.0.yaml" } } }
Como cancelar uma operação
É possível cancelar uma operação de longa duração para interrompê-la antes que ela seja concluída. Quando uma operação é cancelada com sucesso, ela não é excluída. Em vez disso, a operação é interrompida com um código de erro 1
e com uma mensagem CANCELLED
. O cancelamento não é garantido.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- OPERATION_NAME: o nome da operação retornado quando você inicia uma operação de longa duração, como
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel" | Select-Object -Expand Content
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.