Operaciones de larga duración

En algunas llamadas a la API, Vertex AI devuelve nombres de operaciones. Estas llamadas a la API inician operaciones que requieren tiempo para completarse y se conocen como operaciones de larga duración. Por ejemplo, crear un conjunto de datos, eliminar un endpoint o exportar un modelo son operaciones de larga duración. Puedes usar métodos auxiliares junto con nombres de operaciones para obtener el estado de una operación de larga duración o cancelarla, tal como se describe en las siguientes secciones.

Obtener el estado de una operación

Para obtener el estado de la operación, usa el nombre de la operación que se incluyó en la respuesta cuando solicitaste una operación de larga duración. Por ejemplo, cuando creas un conjunto de datos, Vertex AI devuelve un nombre de operación como el siguiente:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID

Puedes sondear la operación a intervalos regulares para saber cuándo se completa.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • OPERATION_NAME: el nombre de la operación que se devuelve cuando inicias una operación de larga duración, como projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID.

Método HTTP y URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME"

PowerShell

Ejecuta el comando siguiente:

$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

En la salida, el objeto metadata contiene información específica del tipo de solicitud. El campo done indica si la operación se ha completado. Si la operación se completa, el objeto response contiene los resultados de la operación.

{
  "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 una operación

Puedes cancelar una operación de larga duración para detenerla antes de que se complete. Cuando cancelas una operación correctamente, esta no se elimina, sino que se detiene con el código de error 1 y el mensaje CANCELLED. Ten en cuenta que no se garantiza que la cancelación se lleve a cabo correctamente.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • OPERATION_NAME: el nombre de la operación que se devuelve cuando inicias una operación de larga duración, como projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID.

Método HTTP y URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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

Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.