Operazioni a lunga esecuzione

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

Recuperare lo stato di un'operazione

Per ottenere lo stato dell'operazione, utilizza il nome dell'operazione indicato nella risposta quando hai richiesto un'operazione a lunga esecuzione. Ad esempio, quando crei un di un set di dati, Vertex AI restituisce il nome di un'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 l'operazione.

REST

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

  • OPERATION_NAME: il nome dell'operazione che viene restituito quando avviare un'operazione a lunga esecuzione, come 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 che sono specifiche per il tipo di richiesta. Il campo done indica se il valore l'operazione sia completata. Se l'operazione viene completata, 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 l'operazione. Quando annulli un'operazione, l'operazione non viene eliminato; l'operazione si interrompe con un codice di errore 1 e con un messaggio CANCELLED. Tieni presente che non è garantito che l'annullamento riuscire.

REST

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

  • OPERATION_NAME: il nome dell'operazione che viene restituito quando avviare un'operazione a lunga esecuzione, come 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.