Operazioni a lunga esecuzione

Per alcune chiamate API, Vertex AI restituisce i nomi delle operazioni. Queste chiamate API avviano operazioni che richiedono tempo per essere completate 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 che richiedono molto tempo. Puoi utilizzare i metodi di assistenza insieme ai nomi delle operazioni per ottenere lo stato o annullare un'operazione di lunga durata, come descritto nelle sezioni seguenti.

Visualizzazione dello stato di un'operazione

Per ottenere lo stato dell'operazione, utilizza il nome dell'operazione presente 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, apporta le seguenti sostituzioni:

  • OPERATION_NAME: il nome dell'operazione restituito quando inizi 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:

curl

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 è completata. Se l'operazione è completa, 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"
    }
  }
}

Annullare un'operazione

Puoi annullare un'operazione di lunga durata in modo da interromperla prima del completamento. Quando annulli un'operazione, questa non viene eliminata, ma si interrompe con un codice di errore 1 e con un messaggio CANCELLED. Tieni presente che l'annullamento non è garantito.

REST

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

  • OPERATION_NAME: il nome dell'operazione restituito quando inizi 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:

curl

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 di operazione riuscita (2xx) e una risposta vuota.