Opérations de longue durée

Pour certains appels d'API, Vertex AI renvoie les noms des opérations. Ces appels d'API effectuent des opérations de démarrage qui prennent du temps et sont appelées opérations de longue durée. Par exemple, la création d'un ensemble de données, la suppression d'un point de terminaison ou l'exportation d'un modèle sont des opérations de longue durée. Vous pouvez utiliser des méthodes d'assistance avec un nom d'opération pour obtenir l'état d'une opération de longue durée ou l'annuler, comme décrit dans les sections suivantes.

Obtenir l'état d'une opération

Pour connaître l'état de l'opération, utilisez le nom d'opération qui figure dans la réponse obtenue lorsque vous avez démarré l'opération de longue durée. Par exemple, lorsque vous créez un ensemble de données, Vertex AI renvoie un nom d'opération tel que:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID

Vous pouvez interroger l'opération à intervalles réguliers afin de savoir quand elle est terminée.

API REST et ligne de commande

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • OPERATION_NAME : nom d'opération renvoyé lorsque vous démarrez une opération de longue durée, par exemple projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth application-default 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

Dans le résultat, l'objet metadata contient des informations spécifiques au type de requête. Le champ done indique si l'opération est terminée. Si l'opération est terminée, l'objet response contient les résultats de l'opération.

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

Annuler une opération

Vous pouvez annuler une opération de longue durée si vous souhaitez l'arrêter avant qu'elle ne se termine. Lorsque vous annulez une opération, elle n'est pas supprimée. Au lieu de cela, l'opération s'arrête avec le code d'erreur 1 et le message CANCELLED. Notez qu'il n'est pas garanti que l'annulation fonctionne.

API REST et ligne de commande

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • OPERATION_NAME : nom d'opération renvoyé lorsque vous démarrez une opération de longue durée, par exemple projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel"

PowerShell

Exécutez la commande suivante :

$cred = gcloud auth application-default 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

Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.