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.