Operazioni a lunga esecuzione

Per alcune chiamate API, Vertex AI restituisce i nomi delle operazioni. Queste chiamate API avviano operazioni il cui completamento richiede tempo e sono note come operazioni a lunga esecuzione. Ad esempio, la creazione di un set di dati, l'eliminazione di un endpoint o l'esportazione di un modello sono tutte operazioni a lunga esecuzione. Puoi utilizzare metodi helper insieme ai nomi di un'operazione per ottenere lo stato di un'operazione a lunga esecuzione o annullarla, come descritto nelle sezioni seguenti.

Ottenere lo stato di un'operazione

Per ottenere lo stato dell'operazione, utilizza il nome dell'operazione che era nella risposta quando hai richiesto un'operazione a lunga esecuzione. Ad esempio, quando crei un set di dati, Vertex AI restituisce un nome operazione come:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID

Puoi eseguire il polling dell'operazione a intervalli regolari per sapere quando viene completata.

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • OPERATION_NAME: il nome dell'operazione che viene restituito all'avvio di un'operazione a lunga esecuzione, ad esempio projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Esegui questo comando:

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

PowerShell

Esegui questo 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

Nell'output, l'oggetto metadata contiene informazioni specifiche per il tipo di richiesta. Il campo done indica se l'operazione è stata completata. Se l'operazione è completata, l'oggetto response contiene i risultati dell'operazione.

{
  "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"
    }
  }
}

Annullamento di un'operazione

Puoi annullare un'operazione a lunga esecuzione in modo da poterla arrestare prima del suo completamento. Se annulli un'operazione, questa non viene eliminata, ma viene interrotta con un codice di errore 1 e un messaggio CANCELLED. Tieni presente che non è garantito che l'annullamento vada a buon fine.

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • OPERATION_NAME: il nome dell'operazione che viene restituito all'avvio di un'operazione a lunga esecuzione, ad esempio projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Esegui questo 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

Esegui questo 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

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.