Obtén el estado de una operación

Varias de las operaciones que solicitas son de larga duración, como la creación de conjuntos de productos mediante la importación masiva, y la eliminación definitiva de un conjunto de productos y de productos huérfanos. Estos tipos de solicitud mostrarán un JSON con un ID de operación que puedes usar para obtener el estado de la operación.

Por ejemplo, una solicitud de eliminación por lotes (purge) muestra el siguiente JSON:

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

En este caso, el ID de operación es bc4e1d412863e626. En los siguientes ejemplos, se muestra cómo obtener el estado de esta operación con este ID.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID es el ID del proyecto de Google Cloud.
  • LOCATION_ID: Un identificador de ubicación válido. Los identificadores de ubicación válidos son los siguientes: us-west1, us-east1, europe-west1 y asia-east1.
  • OPERATION_ID: El ID de la operación. El ID es el último elemento del nombre de la operación. Por ejemplo:
    • Nombre de la operación: projects/PROJECT_ID/locations/LOCATION_ID/operations/bc4e1d412863e626
    • ID de la operación: bc4e1d412863e626

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://vision.googleapis.com/v1/locations/location-id/operations/operation-id"

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/locations/location-id/operations/operation-id" | Select-Object -Expand Content
Deberías ver un resultado similar al siguiente para una operación de eliminación definitiva del conjunto de productos completada:
{
  "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
  }
}

Deberías ver un resultado similar al siguiente para una operación de eliminación definitiva de productos huérfanos completada:

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