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.