Para algumas chamadas API, o Vertex AI devolve nomes de operações. Estas chamadas de API iniciam operações que demoram a ser concluídas e são conhecidas como operações de longa duração. Por exemplo, a criação de um conjunto de dados, a eliminação de um ponto final ou a exportação de um modelo são todas operações de longa duração. Pode usar métodos auxiliares juntamente com os nomes das operações para obter o estado ou cancelar uma operação de longa duração, conforme descrito nas secções seguintes.
Obter o estado de uma operação
Para obter o estado da operação, use o nome da operação que estava na resposta quando pediu uma operação de longa duração. Por exemplo, quando cria um conjunto de dados, o Vertex AI devolve um nome de operação, como:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
Pode consultar a operação a intervalos regulares para saber quando uma operação é concluída.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- OPERATION_NAME: o nome da operação devolvido quando 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 o seu pedido, 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 pedido. O campo done
indica se a operação está concluída. Se a operação estiver concluída, o objeto response
contém os 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" } } }
Cancelar uma operação
Pode cancelar uma operação de longa duração para a interromper antes de a operação ser concluída. Quando cancela com êxito uma operação, esta não é eliminada. Em vez disso, a operação é interrompida com um código de erro 1
e uma mensagem CANCELLED
. Tenha em atenção que não é garantido que o cancelamento seja bem-sucedido.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- OPERATION_NAME: o nome da operação devolvido quando 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 o seu pedido, 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
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.