Un ensemble de produits est un conteneur simple pour un groupe de produits.
Créer un ensemble de produits vide
Il est préférable d'utiliser un seul ensemble de produits pour tous vos articles, puis de créer des ensembles de produits supplémentaires à des fins de test selon vos besoins. Les exemples de code suivants montrent comment créer un ensemble de produits vide.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- LOCATION_ID : identifiant d'emplacement valide. Les identifiants d'emplacement valides sont :
us-west1
,us-east1
,europe-west1
etasia-east1
. - DISPLAY_NAME : nom à afficher de la chaîne de votre choix.
Méthode HTTP et URL :
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
Corps JSON de la requête :
{ "displayName": "display-name" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets" | Select-Object -Expand Content
Si la requête aboutit, le serveur affiche un code d'état HTTP 200 OK
et la réponse au format JSON.
Un résultat semblable aux lignes suivantes doit s'afficher. Vous pouvez utiliser l'ID de l'ensemble de produits (b6d809615b6dd675
dans le cas présent) pour effectuer d'autres opérations sur celui-ci.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Go.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Java.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Node.js.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Python.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langages supplémentaires
C# : Veuillez suivre les Instructions de configuration pour C# sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur la recherche de produits via l'API Vision avec .NET.
PHP : Veuillez suivre les Instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur la recherche de produits via l'API Vision avec PHP.
Ruby : Veuillez suivre les Instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur la recherche de produits via l'API Vision avec Ruby.
Utiliser l'importation groupée pour créer un ensemble de produits avec des produits
Vous pouvez également utiliser la fonction d'importation par lot pour créer en même temps un ensemble de produits et plusieurs produits avec leur image de référence.
Plusieurs références pour l'ensemble de produits, les produits et les images de référence sont définies dans le fichier CSV d'importation groupée que vous utilisez. Pour plus d'informations, consultez la section Mettre en forme un fichier CSV d'importation par lot.
Exécutez le code suivant pour procéder à une importation groupée :
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- LOCATION_ID : identifiant d'emplacement valide. Les identifiants d'emplacement valides sont :
us-west1
,us-east1
,europe-west1
etasia-east1
. - STORAGE_PATH : répertoire/bucket Cloud Storage dans lequel votre fichier CSV d'entrée est stocké. L'utilisateur demandeur doit au minimum disposer d'autorisations en lecture sur le bucket.
Méthode HTTP et URL :
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
Corps JSON de la requête :
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import" | Select-Object -Expand Content
Des résultats semblables aux lignes suivantes devraient s'afficher : Vous pouvez utiliser l'ID d'opération (f10f34e32c40a710
, dans ce cas) pour connaître l'état de la tâche. Pour consulter un exemple, reportez-vous à la section Obtenir l'état d'une opération :
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Une fois l'opération de longue durée terminée, vous pouvez obtenir des informations détaillées sur l'opération d'importation. La réponse devrait ressembler à ceci :
{ "name": "locations/location-id/operations/f10f34e32c40a710", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-12-06T21:16:04.476466873Z", "endTime": "2019-12-06T21:16:40.594258084Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.ImportProductSetsResponse", "referenceImages": [ { "name": "projects/project-id/locations/location-id/products/product_id0/referenceImages/image0", "uri": "gs://my-storage-bucket/img_039.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id1/referenceImages/image1", "uri": "gs://my-storage-bucket/img_105.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id2/referenceImages/image2", "uri": "gs://my-storage-bucket/img_224.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id3/referenceImages/image3", "uri": "gs://my-storage-bucket/img_385.jpg" } ], "statuses": [ {}, {}, {}, {} ] } }
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Go.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Java.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Node.js.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour la recherche de produits de l'API Vision, consultez la page Bibliothèques clientes de la recherche de produits de l'API Vision. Pour en savoir plus, consultez la documentation de référence sur les API de la recherche de produits de l'API Vision en langage Python.
Pour vous authentifier auprès de la recherche de produits de l'API Vision, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langages supplémentaires
C# : Veuillez suivre les Instructions de configuration pour C# sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur la recherche de produits via l'API Vision avec .NET.
PHP : Veuillez suivre les Instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur la recherche de produits via l'API Vision avec PHP.
Ruby : Veuillez suivre les Instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur la recherche de produits via l'API Vision avec Ruby.
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.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- LOCATION_ID : identifiant d'emplacement valide. Les identifiants d'emplacement valides sont :
us-west1
,us-east1
,europe-west1
etasia-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
- Nom de l'opération :
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 print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://vision.googleapis.com/v1/locations/location-id/operations/operation-id"
PowerShell
Exécutez la commande suivante :
$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 } }
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 } }