Obtenir l'état d'une opération

Parmi les opérations que vous demandez, plusieurs ont une exécution longue, comme la création d'un ensemble de produits via l'importation groupée, la suppression définitive d'un ensemble de produits et la suppression définitive de produits orphelins. Ces types de requêtes renvoient une réponse JSON avec un ID d'opération que vous pouvez utiliser pour obtenir l'état de l'opération.

Par exemple, une requête de suppression par lot (purge) renvoie la réponse JSON suivante :

{
"name": "projects/project-id/locations/location-id/operations/bc4e1d412863e626"
}

Dans ce cas, l'ID de l'opération est bc4e1d412863e626. Les exemples ci-après montrent comment obtenir l'état de cette opération avec cet ID.

API REST et ligne de commande

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

  • location-id : identifiant d'emplacement valide. Les identifiants d'emplacement valides sont : us-west1, us-east1, europe-west1 et asia-east1.
  • operation-id : ID de l'opération. L'ID est le dernier élément du nom de l'opération. Exemple :
    • Nom de l'opération : projects/project-id/locations/location-id/operations/bc4e1d412863e626
    • ID de l'opération : bc4e1d412863e626

Méthode HTTP et URL :

GET https://vision.googleapis.com/v1/locations/location-id/operations/operation-id

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://vision.googleapis.com/v1/locations/location-id/operations/operation-id

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://vision.googleapis.com/v1/locations/location-id/operations/operation-id" | Select-Object -Expand Content
Pour une opération de suppression définitive d'un ensemble de produit réussie, le résultat devrait ressembler à ceci :
{
  "name": "locations/location-id/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata",
    "state": "SUCCESSFUL",
    "submitTime": "2019-09-04T15:58:39.131591882Z",
    "endTime": "2019-09-04T15:58:43.099020580Z"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.vision.v1.PurgeProductsRequest",
    "parent": "projects/project-id/locations/location-id",
    "productSetPurgeConfig": {
      "productSetId": "project-set-id"
    },
    "force": true
  }
}

Pour une opération de suppression définitive des produits orphelins réussie, le résultat devrait ressembler à ceci :

{
  "name": "locations/location-id/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata",
    "state": "SUCCESSFUL",
    "submitTime": "2019-09-04T16:08:38.278197397Z",
    "endTime": "2019-09-04T16:08:45.075778639Z"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.vision.v1.PurgeProductsRequest",
    "parent": "projects/project-id/locations/location-id",
    "deleteOrphanProducts": true,
    "force": true
  }
}