Operações de longa duração

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.