Várias operações solicitadas são de longa duração, como a criação do conjunto de produtos por importação em massa, a limpeza de um conjunto de produtos e a limpeza de produtos órfãos. Esses tipos de solicitações retornarão um JSON com um ID de operação que pode ser usado para receber o status da operação.
Por exemplo, uma exclusão em lote (purge) request retorna o seguinte JSON:
{
"name": "projects/project-id/locations/location-id/operations/bc4e1d412863e626"
}Nesse caso, o ID da operação é bc4e1d412863e626. Os exemplos a seguir
mostram como receber o status dessa operação com esse ID.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1,us-east1,europe-west1easia-east1. - OPERATION_ID: o ID da operação. Ele é o último elemento do nome
da operação. Por exemplo:
- nome da operação:
projects/PROJECT_ID/locations/LOCATION_ID/operations/bc4e1d412863e626 - ID da operação:
bc4e1d412863e626
- nome da operação:
Método HTTP e URL:
GET https://vision.googleapis.com/v1/locations/location-id/operations/operation-id
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
execute o seguinte 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
{
"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
}
}Você verá uma saída semelhante à seguinte para uma operação de limpeza de produtos órfãos:
{
"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
}
}