Deleting resources

You can delete reference image, product, or product set resources created by the API.

Individual resource deletion

Deleting a reference image

You can delete a reference image associated with a product.

After the operation request the images are marked for deletion, but will remain in the product until the next time it is indexed.

The actual image files in Cloud Storage are NOT deleted by this operation. Only the reference to the image is removed from the product.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION_ID : A valid location identifier. Valid location identifiers are: us-west1 , us-east1 , europe-west1 , and asia-east1 .
  • PRODUCT_ID : The ID for the product that is associated with a reference image. This ID is either randomly set or specified by the user at product creation time.
  • IMAGE_ID : The ID of the target image resource.

HTTP method and URL:

DELETE https://vision.googleapis.com/v1/projects/ project-id 
/locations/ location-id 
/products/ product-id 
/referenceImages/ image-id 

To send your request, choose one of these options:

curl

Execute the following command:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id " \
"https://vision.googleapis.com/v1/projects/ project-id /locations/ location-id /products/ product-id /referenceImages/ image-id "

PowerShell

Execute the following command:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/projects/ project-id /locations/ location-id /products/ product-id /referenceImages/ image-id " | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{}

Go

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Go API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 vision 
  
 "cloud.google.com/go/vision/apiv1" 
  
 "cloud.google.com/go/vision/v2/apiv1/visionpb" 
 ) 
 // deleteReferenceImage deletes a reference image from a product. 
 func 
  
 deleteReferenceImage 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 location 
  
 string 
 , 
  
 productID 
  
 string 
 , 
  
 referenceImageID 
  
 string 
 ) 
  
 error 
  
 { 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 c 
 , 
  
 err 
  
 := 
  
 vision 
 . 
 NewProductSearchClient 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 c 
 . 
 Close 
 () 
  
 req 
  
 := 
  
& visionpb 
 . 
  DeleteReferenceImageRequest 
 
 { 
  
 Name 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s/products/%s/referenceImages/%s" 
 , 
  
 projectID 
 , 
  
 location 
 , 
  
 productID 
 , 
  
 referenceImageID 
 ), 
  
 } 
  
 if 
  
 err 
  
 = 
  
 c 
 . 
 DeleteReferenceImage 
 ( 
 ctx 
 , 
  
 req 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Reference image deleted from product.\n" 
 ) 
  
 return 
  
 nil 
 } 
 

Java

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Java API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  /** 
 * Delete a reference image. 
 * 
 * @param projectId - Id of the project. 
 * @param computeRegion - Region name. 
 * @param productId - Id of the product. 
 * @param referenceImageId - Id of the image. 
 * @throws IOException - on I/O errors. 
 */ 
 public 
  
 static 
  
 void 
  
 deleteReferenceImage 
 ( 
  
 String 
  
 projectId 
 , 
  
 String 
  
 computeRegion 
 , 
  
 String 
  
 productId 
 , 
  
 String 
  
 referenceImageId 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 try 
  
 ( 
 ProductSearchClient 
  
 client 
  
 = 
  
 ProductSearchClient 
 . 
 create 
 ()) 
  
 { 
  
 // Get the full path of the reference image. 
  
 String 
  
 formattedName 
  
 = 
  
 ImageName 
 . 
 format 
 ( 
 projectId 
 , 
  
 computeRegion 
 , 
  
 productId 
 , 
  
 referenceImageId 
 ); 
  
 // Delete the reference image. 
  
 client 
 . 
 deleteReferenceImage 
 ( 
 formattedName 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Reference image deleted from product." 
 ); 
  
 } 
 } 
 

Node.js

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Node.js API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  const 
  
 vision 
  
 = 
  
 require 
 ( 
 ' @google-cloud/vision 
' 
 ); 
 const 
  
 client 
  
 = 
  
 new 
  
 vision 
 . 
  ProductSearchClient 
 
 (); 
 async 
  
 function 
  
 deleteReferenceImage 
 () 
  
 { 
  
 /** 
 * TODO(developer): Uncomment the following line before running the sample. 
 */ 
  
 // const projectId = 'Your Google Cloud project Id'; 
  
 // const location = 'A compute region name'; 
  
 // const productId = 'Id of the product'; 
  
 // const referenceImageId = 'Id of the reference image'; 
  
 const 
  
 formattedName 
  
 = 
  
 client 
 . 
 referenceImagePath 
 ( 
  
 projectId 
 , 
  
 location 
 , 
  
 productId 
 , 
  
 referenceImageId 
  
 ); 
  
 const 
  
 request 
  
 = 
  
 { 
  
 name 
 : 
  
 formattedName 
 , 
  
 }; 
  
 await 
  
 client 
 . 
 deleteReferenceImage 
 ( 
 request 
 ); 
  
 console 
 . 
 log 
 ( 
 'Reference image deleted from product.' 
 ); 
 } 
 deleteReferenceImage 
 (); 
 

Python

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Python API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
 vision 
 def 
  
 delete_reference_image 
 ( 
 project_id 
 , 
 location 
 , 
 product_id 
 , 
 reference_image_id 
 ): 
  
 """Delete a reference image. 
 Args: 
 project_id: Id of the project. 
 location: A compute region name. 
 product_id: Id of the product. 
 reference_image_id: Id of the reference image. 
 """ 
 client 
 = 
 vision 
 . 
  ProductSearchClient 
 
 () 
 # Get the full path of the reference image. 
 reference_image_path 
 = 
 client 
 . 
  reference_image_path 
 
 ( 
 project 
 = 
 project_id 
 , 
 location 
 = 
 location 
 , 
 product 
 = 
 product_id 
 , 
 reference_image 
 = 
 reference_image_id 
 , 
 ) 
 # Delete the reference image. 
 client 
 . 
  delete_reference_image 
 
 ( 
 name 
 = 
 reference_image_path 
 ) 
 print 
 ( 
 "Reference image deleted from product." 
 ) 
 

Additional languages

C#: Please follow the C# setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for .NET.

PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for PHP.

Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for Ruby.

Deleting a product

You can delete a product associated with a specific project.

Deleting a Product causes its child images to be deleted.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION_ID : A valid location identifier. Valid location identifiers are: us-west1 , us-east1 , europe-west1 , and asia-east1 .
  • PRODUCT_ID : The ID for the product that is associated with a reference image. This ID is either randomly set or specified by the user at product creation time.

HTTP method and URL:

DELETE https://vision.googleapis.com/v1/projects/ project-id 
/locations/ location-id 
/products/ product-id 

To send your request, choose one of these options:

curl

Execute the following command:

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

PowerShell

Execute the following command:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/projects/ project-id /locations/ location-id /products/ product-id " | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{}

Go

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Go API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 vision 
  
 "cloud.google.com/go/vision/apiv1" 
  
 "cloud.google.com/go/vision/v2/apiv1/visionpb" 
 ) 
 // deleteProduct deletes a product. 
 func 
  
 deleteProduct 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 location 
  
 string 
 , 
  
 productID 
  
 string 
 ) 
  
 error 
  
 { 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 c 
 , 
  
 err 
  
 := 
  
 vision 
 . 
 NewProductSearchClient 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 c 
 . 
 Close 
 () 
  
 req 
  
 := 
  
& visionpb 
 . 
  DeleteProductRequest 
 
 { 
  
 Name 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s/products/%s" 
 , 
  
 projectID 
 , 
  
 location 
 , 
  
 productID 
 ), 
  
 } 
  
 if 
  
 err 
  
 = 
  
 c 
 . 
 DeleteProduct 
 ( 
 ctx 
 , 
  
 req 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Product deleted.\n" 
 ) 
  
 return 
  
 nil 
 } 
 

Java

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Java API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  /** 
 * Delete the product and all its reference images. 
 * 
 * @param projectId - Id of the project. 
 * @param computeRegion - Region name. 
 * @param productId - Id of the product. 
 * @throws IOException - on I/O errors. 
 */ 
 public 
  
 static 
  
 void 
  
 deleteProduct 
 ( 
 String 
  
 projectId 
 , 
  
 String 
  
 computeRegion 
 , 
  
 String 
  
 productId 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 try 
  
 ( 
 ProductSearchClient 
  
 client 
  
 = 
  
 ProductSearchClient 
 . 
 create 
 ()) 
  
 { 
  
 // Get the full path of the product. 
  
 String 
  
 formattedName 
  
 = 
  
 ProductName 
 . 
 format 
 ( 
 projectId 
 , 
  
 computeRegion 
 , 
  
 productId 
 ); 
  
 // Delete a product. 
  
 client 
 . 
 deleteProduct 
 ( 
 formattedName 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Product deleted." 
 ); 
  
 } 
 } 
 

Node.js

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Node.js API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  // Imports the Google Cloud client library 
 const 
  
 vision 
  
 = 
  
 require 
 ( 
 ' @google-cloud/vision 
' 
 ); 
 // Creates a client 
 const 
  
 client 
  
 = 
  
 new 
  
 vision 
 . 
  ProductSearchClient 
 
 (); 
 async 
  
 function 
  
 deleteProduct 
 () 
  
 { 
  
 /** 
 * TODO(developer): Uncomment the following line before running the sample. 
 */ 
  
 // const projectId = 'Your Google Cloud project Id'; 
  
 // const location = 'A compute region name'; 
  
 // const productId = 'Id of the product'; 
  
 // Resource path that represents full path to the product. 
  
 const 
  
 productPath 
  
 = 
  
 client 
 . 
 productPath 
 ( 
 projectId 
 , 
  
 location 
 , 
  
 productId 
 ); 
  
 await 
  
 client 
 . 
 deleteProduct 
 ({ 
 name 
 : 
  
 productPath 
 }); 
  
 console 
 . 
 log 
 ( 
 'Product deleted.' 
 ); 
 } 
 deleteProduct 
 (); 
 

Python

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Python API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
 vision 
 from 
  
 google.protobuf 
  
 import 
 field_mask_pb2 
 as 
 field_mask 
 def 
  
 delete_product 
 ( 
 project_id 
 , 
 location 
 , 
 product_id 
 ): 
  
 """Delete the product and all its reference images. 
 Args: 
 project_id: Id of the project. 
 location: A compute region name. 
 product_id: Id of the product. 
 """ 
 client 
 = 
 vision 
 . 
  ProductSearchClient 
 
 () 
 # Get the full path of the product. 
 product_path 
 = 
 client 
 . 
  product_path 
 
 ( 
 project 
 = 
 project_id 
 , 
 location 
 = 
 location 
 , 
 product 
 = 
 product_id 
 ) 
 # Delete a product. 
 client 
 . 
  delete_product 
 
 ( 
 name 
 = 
 product_path 
 ) 
 print 
 ( 
 "Product deleted." 
 ) 
 

Additional languages

C#: Please follow the C# setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for .NET.

PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for PHP.

Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for Ruby.

Deleting a product set

You can also delete a product set.

Deleting a product set immediately removes the product set from results. However, deleting a product set will notremove individual products in the set, as a product may belong to several different sets. You do not need to wait for the next index for the change to take effect.

The actual image files in Cloud Storage are NOT deleted by this operation. ReferenceImage resources created by the API are not removed.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION_ID : A valid location identifier. Valid location identifiers are: us-west1 , us-east1 , europe-west1 , and asia-east1 .
  • PRODUCT_SET_ID : The ID for the product set you want to run the operation on.

HTTP method and URL:

DELETE https://vision.googleapis.com/v1/projects/ project-id 
/locations/ location-id 
/productSets/ product-set-id 

To send your request, choose one of these options:

curl

Execute the following command:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id " \
"https://vision.googleapis.com/v1/projects/ project-id /locations/ location-id /productSets/ product-set-id "

PowerShell

Execute the following command:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/projects/ project-id /locations/ location-id /productSets/ product-set-id " | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{}

Go

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Go API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 vision 
  
 "cloud.google.com/go/vision/apiv1" 
  
 "cloud.google.com/go/vision/v2/apiv1/visionpb" 
 ) 
 // deleteProductSet deletes a product set. 
 func 
  
 deleteProductSet 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 location 
  
 string 
 , 
  
 productSetID 
  
 string 
 ) 
  
 error 
  
 { 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 c 
 , 
  
 err 
  
 := 
  
 vision 
 . 
 NewProductSearchClient 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 c 
 . 
 Close 
 () 
  
 req 
  
 := 
  
& visionpb 
 . 
  DeleteProductSetRequest 
 
 { 
  
 Name 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s/productSets/%s" 
 , 
  
 projectID 
 , 
  
 location 
 , 
  
 productSetID 
 ), 
  
 } 
  
 if 
  
 err 
  
 = 
  
 c 
 . 
 DeleteProductSet 
 ( 
 ctx 
 , 
  
 req 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintln 
 ( 
 w 
 , 
  
 "Product set deleted." 
 ) 
  
 return 
  
 nil 
 } 
 

Java

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Java API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  /** 
 * Delete a product set. 
 * 
 * @param projectId - Id of the project. 
 * @param computeRegion - Region name. 
 * @param productSetId - Id of the product set. 
 * @throws IOException - on I/O errors. 
 */ 
 public 
  
 static 
  
 void 
  
 deleteProductSet 
 ( 
 String 
  
 projectId 
 , 
  
 String 
  
 computeRegion 
 , 
  
 String 
  
 productSetId 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 try 
  
 ( 
 ProductSearchClient 
  
 client 
  
 = 
  
 ProductSearchClient 
 . 
 create 
 ()) 
  
 { 
  
 // Get the full path of the product set. 
  
 String 
  
 formattedName 
  
 = 
  
 ProductSetName 
 . 
 format 
 ( 
 projectId 
 , 
  
 computeRegion 
 , 
  
 productSetId 
 ); 
  
 // Delete the product set. 
  
 client 
 . 
 deleteProductSet 
 ( 
 formattedName 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 String 
 . 
 format 
 ( 
 "Product set deleted" 
 )); 
  
 } 
 } 
 

Node.js

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Node.js API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  // Imports the Google Cloud client library 
 const 
  
 vision 
  
 = 
  
 require 
 ( 
 ' @google-cloud/vision 
' 
 ); 
 // Creates a client 
 const 
  
 client 
  
 = 
  
 new 
  
 vision 
 . 
  ProductSearchClient 
 
 (); 
 async 
  
 function 
  
 deleteProductSet 
 () 
  
 { 
  
 /** 
 * TODO(developer): Uncomment the following line before running the sample. 
 */ 
  
 // const projectId = 'Your Google Cloud project Id'; 
  
 // const location = 'A compute region name'; 
  
 // const productSetId = 'Id of the product set'; 
  
 // Resource path that represents full path to the product set. 
  
 const 
  
 productSetPath 
  
 = 
  
 client 
 . 
 productSetPath 
 ( 
  
 projectId 
 , 
  
 location 
 , 
  
 productSetId 
  
 ); 
  
 await 
  
 client 
 . 
 deleteProductSet 
 ({ 
 name 
 : 
  
 productSetPath 
 }); 
  
 console 
 . 
 log 
 ( 
 'Product set deleted.' 
 ); 
 } 
 deleteProductSet 
 (); 
 

Python

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Python API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
 vision 
 def 
  
 delete_product_set 
 ( 
 project_id 
 , 
 location 
 , 
 product_set_id 
 ): 
  
 """Delete a product set. 
 Args: 
 project_id: Id of the project. 
 location: A compute region name. 
 product_set_id: Id of the product set. 
 """ 
 client 
 = 
 vision 
 . 
  ProductSearchClient 
 
 () 
 # Get the full path of the product set. 
 product_set_path 
 = 
 client 
 . 
  product_set_path 
 
 ( 
 project 
 = 
 project_id 
 , 
 location 
 = 
 location 
 , 
 product_set 
 = 
 product_set_id 
 ) 
 # Delete the product set. 
 client 
 . 
  delete_product_set 
 
 ( 
 name 
 = 
 product_set_path 
 ) 
 print 
 ( 
 "Product set deleted." 
 ) 
 

Additional languages

C#: Please follow the C# setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for .NET.

PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for PHP.

Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for Ruby.

Batch resource deletion

You can now batch delete products. Product batch deletion is available for the following product types:

  • All products in a specific product set
  • All products that belong to no product set

To avoid concurrent operation errors, wait to delete the product set after this batch product delete operation has completed. If reusing the emptied product set, also wait until batch deletion is finished before importing new products.

These considerations are similar for individual products; you should avoid acting on any individual products involved in batch deletion. For example, you shouldn't add any of these products to another product set, as they will eventually be deleted.

Delete products in a product set

You can delete all products in a given product set by specifying the product set ID in the request.

All products in the product set will be deleted regardless of if they belong to other product sets.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION_ID : A valid location identifier. Valid location identifiers are: us-west1 , us-east1 , europe-west1 , and asia-east1 .
  • PRODUCT_SET_ID : The ID for the product set you want to run the operation on.

HTTP method and URL:

POST https://vision.googleapis.com/v1/projects/ project-id 
/locations/ location-id 
/products:purge

Request JSON body:

{
  "force": "true",
  "productSetPurgeConfig": {
    "productSetId": " product-set-id 
"
  }
}

To send your request, choose one of these options:

curl

Save the request body in a file named request.json , and execute the following command:

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 /products:purge"

PowerShell

Save the request body in a file named request.json , and execute the following command:

$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 /products:purge" | Select-Object -Expand Content

This request starts a long-running operation. The JSON response contains information about this long-running operation:

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

In this case, the operation-id is bc4e1d412863e626 .

You can track the progress of this operation using the operation-id . For an example of getting an operation's status, see Getting the status of an operation .

Go

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Go API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 vision 
  
 "cloud.google.com/go/vision/apiv1" 
  
 "cloud.google.com/go/vision/v2/apiv1/visionpb" 
 ) 
 // purgeProductsInProductSet deletes all products in a product set. 
 func 
  
 purgeProductsInProductSet 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 location 
  
 string 
 , 
  
 productSetID 
  
 string 
 ) 
  
 error 
  
 { 
  
 // projectID := "your-gcp-project-id" 
  
 // location := "us-west1" 
  
 // productSetID := "sampleProductSetID" 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 c 
 , 
  
 err 
  
 := 
  
 vision 
 . 
 NewProductSearchClient 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 c 
 . 
 Close 
 () 
  
 req 
  
 := 
  
& visionpb 
 . 
  PurgeProductsRequest 
 
 { 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s" 
 , 
  
 projectID 
 , 
  
 location 
 ), 
  
 Target 
 : 
  
& visionpb 
 . 
  PurgeProductsRequest_ProductSetPurgeConfig 
 
 { 
  
 ProductSetPurgeConfig 
 : 
  
& visionpb 
 . 
  ProductSetPurgeConfig 
 
 { 
  
 ProductSetId 
 : 
  
 productSetID 
 , 
  
 }, 
  
 }, 
  
 Force 
 : 
  
 true 
 , 
  
 } 
  
 // The purge operation is async. 
  
 op 
 , 
  
 err 
  
 := 
  
 c 
 . 
 PurgeProducts 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "PurgeProducts: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Processing operation name: %q\n" 
 , 
  
 op 
 . 
 Name 
 ()) 
  
 if 
  
 err 
  
 := 
  
 op 
 . 
 Wait 
 ( 
 ctx 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "Wait: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Deleted products in product set.\n" 
 ) 
  
 return 
  
 nil 
 } 
 

Java

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Java API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 com.google.api.gax.longrunning. OperationFuture 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. BatchOperationMetadata 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. LocationName 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. ProductSearchClient 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. ProductSetPurgeConfig 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. PurgeProductsRequest 
 
 ; 
 import 
  
 com.google.protobuf. Empty 
 
 ; 
 import 
  
 java.util.concurrent.TimeUnit 
 ; 
 public 
  
 class 
 PurgeProductsInProductSet 
  
 { 
  
 // Delete all products in a product set. 
  
 public 
  
 static 
  
 void 
  
 purgeProductsInProductSet 
 ( 
  
 String 
  
 projectId 
 , 
  
 String 
  
 location 
 , 
  
 String 
  
 productSetId 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // String projectId = "YOUR_PROJECT_ID"; 
  
 // String location = "us-central1"; 
  
 // String productSetId = "YOUR_PRODUCT_SET_ID"; 
  
 // boolean force = true; 
  
 try 
  
 ( 
  ProductSearchClient 
 
  
 client 
  
 = 
  
  ProductSearchClient 
 
 . 
 create 
 ()) 
  
 { 
  
 String 
  
 parent 
  
 = 
  
  LocationName 
 
 . 
 format 
 ( 
 projectId 
 , 
  
 location 
 ); 
  
  ProductSetPurgeConfig 
 
  
 productSetPurgeConfig 
  
 = 
  
  ProductSetPurgeConfig 
 
 . 
 newBuilder 
 (). 
 setProductSetId 
 ( 
 productSetId 
 ). 
 build 
 (); 
  
  PurgeProductsRequest 
 
  
 request 
  
 = 
  
  PurgeProductsRequest 
 
 . 
 newBuilder 
 () 
  
 . 
 setParent 
 ( 
 parent 
 ) 
  
 . 
  setProductSetPurgeConfig 
 
 ( 
 productSetPurgeConfig 
 ) 
  
 // The operation is irreversible and removes multiple products. 
  
 // The user is required to pass in force=True to actually perform the 
  
 // purge. 
  
 // If force is not set to True, the service raises an exception. 
  
 . 
  setForce 
 
 ( 
 true 
 ) 
  
 . 
 build 
 (); 
  
 OperationFuture<Empty 
 , 
  
 BatchOperationMetadata 
>  
 response 
  
 = 
  
 client 
 . 
  purgeProductsAsync 
 
 ( 
 request 
 ); 
  
 response 
 . 
 getPollingFuture 
 (). 
 get 
 ( 
 180 
 , 
  
 TimeUnit 
 . 
 SECONDS 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Products removed from product set." 
 ); 
  
 } 
  
 } 
 } 
 

Node.js

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Node.js API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  // Imports the Google Cloud client library 
 const 
  
 vision 
  
 = 
  
 require 
 ( 
 ' @google-cloud/vision 
' 
 ); 
 // Creates a client 
 const 
  
 client 
  
 = 
  
 new 
  
 vision 
 . 
  ProductSearchClient 
 
 (); 
 async 
  
 function 
  
 purgeProductsInProductSet 
 () 
  
 { 
  
 // Deletes all products in a product set. 
  
 /** 
 * TODO(developer): Uncomment the following line before running the sample. 
 */ 
  
 // const projectId = 'Your Google Cloud project Id'; 
  
 // const location = 'A compute region name'; 
  
 // const productSetId = 'Id of the product set'; 
  
 const 
  
 formattedParent 
  
 = 
  
 client 
 . 
 locationPath 
 ( 
 projectId 
 , 
  
 location 
 ); 
  
 const 
  
 purgeConfig 
  
 = 
  
 { 
 productSetId 
 : 
  
 productSetId 
 }; 
  
 // The operation is irreversible and removes multiple products. 
  
 // The user is required to pass in force=true to actually perform the purge. 
  
 // If force is not set to True, the service raises an error. 
  
 const 
  
 force 
  
 = 
  
 true 
 ; 
  
 try 
  
 { 
  
 const 
  
 [ 
 operation 
 ] 
  
 = 
  
 await 
  
 client 
 . 
 purgeProducts 
 ({ 
  
 parent 
 : 
  
 formattedParent 
 , 
  
 productSetPurgeConfig 
 : 
  
 purgeConfig 
 , 
  
 force 
 : 
  
 force 
 , 
  
 }); 
  
 await 
  
 operation 
 . 
 promise 
 (); 
  
 console 
 . 
 log 
 ( 
 'Products removed from product set.' 
 ); 
  
 } 
  
 catch 
  
 ( 
 err 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 err 
 ); 
  
 } 
 } 
 purgeProductsInProductSet 
 (); 
 

Python

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Python API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
 vision 
 def 
  
 purge_products_in_product_set 
 ( 
 project_id 
 , 
 location 
 , 
 product_set_id 
 , 
 force 
 ): 
  
 """Delete all products in a product set. 
 Args: 
 project_id: Id of the project. 
 location: A compute region name. 
 product_set_id: Id of the product set. 
 force: Perform the purge only when force is set to True. 
 """ 
 client 
 = 
 vision 
 . 
  ProductSearchClient 
 
 () 
 parent 
 = 
 f 
 "projects/ 
 { 
 project_id 
 } 
 /locations/ 
 { 
 location 
 } 
 " 
 product_set_purge_config 
 = 
 vision 
 . 
  ProductSetPurgeConfig 
 
 ( 
 product_set_id 
 = 
 product_set_id 
 ) 
 # The purge operation is async. 
 operation 
 = 
 client 
 . 
  purge_products 
 
 ( 
 request 
 = 
 { 
 "parent" 
 : 
 parent 
 , 
 "product_set_purge_config" 
 : 
 product_set_purge_config 
 , 
 # The operation is irreversible and removes multiple products. 
 # The user is required to pass in force=True to actually perform the 
 # purge. 
 # If force is not set to True, the service raises an exception. 
 "force" 
 : 
 force 
 , 
 } 
 ) 
 operation 
 . 
 result 
 ( 
 timeout 
 = 
 500 
 ) 
 print 
 ( 
 "Deleted products in product set." 
 ) 
 

Additional languages

C#: Please follow the C# setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for .NET.

PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for PHP.

Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for Ruby.

Delete orphan products

You can delete all products not in a product set by specifying this option in the request.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION_ID : A valid location identifier. Valid location identifiers are: us-west1 , us-east1 , europe-west1 , and asia-east1 .

HTTP method and URL:

POST https://vision.googleapis.com/v1/projects/ project-id 
/locations/ location-id 
/products:purge

Request JSON body:

{
  "force": "true",
  "deleteOrphanProducts": "true"
}

To send your request, choose one of these options:

curl

Save the request body in a file named request.json , and execute the following command:

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 /products:purge"

PowerShell

Save the request body in a file named request.json , and execute the following command:

$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 /products:purge" | Select-Object -Expand Content

This request starts a long-running operation. The JSON response contains information about this long-running operation:

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

In this case, the operation-id is bc4e1d412863e626 .

You can track the progress of this operation using the operation-id . For an example of getting an operation's status, see Getting the status of an operation .

Go

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Go API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "io" 
  
 vision 
  
 "cloud.google.com/go/vision/apiv1" 
  
 "cloud.google.com/go/vision/v2/apiv1/visionpb" 
 ) 
 // purgeOrphanProducts deletes all products not in any product sets. 
 func 
  
 purgeOrphanProducts 
 ( 
 w 
  
 io 
 . 
 Writer 
 , 
  
 projectID 
  
 string 
 , 
  
 location 
  
 string 
 ) 
  
 error 
  
 { 
  
 // projectID := "your-gcp-project-id" 
  
 // location := "us-west1" 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 c 
 , 
  
 err 
  
 := 
  
 vision 
 . 
 NewProductSearchClient 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 c 
 . 
 Close 
 () 
  
 req 
  
 := 
  
& visionpb 
 . 
  PurgeProductsRequest 
 
 { 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s" 
 , 
  
 projectID 
 , 
  
 location 
 ), 
  
 Target 
 : 
  
& visionpb 
 . 
  PurgeProductsRequest_DeleteOrphanProducts 
 
 { 
  
 DeleteOrphanProducts 
 : 
  
 true 
 , 
  
 }, 
  
 Force 
 : 
  
 true 
 , 
  
 } 
  
 // The purge operation is async. 
  
 op 
 , 
  
 err 
  
 := 
  
 c 
 . 
 PurgeProducts 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "NewProductSearchClient: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Processing operation name: %q\n" 
 , 
  
 op 
 . 
 Name 
 ()) 
  
 if 
  
 err 
  
 := 
  
 op 
 . 
 Wait 
 ( 
 ctx 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 fmt 
 . 
 Errorf 
 ( 
 "Wait: %w" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
 w 
 , 
  
 "Orphan products deleted.\n" 
 ) 
  
 return 
  
 nil 
 } 
 

Java

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Java API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 com.google.api.gax.longrunning. OperationFuture 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. BatchOperationMetadata 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. LocationName 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. ProductSearchClient 
 
 ; 
 import 
  
 com.google.cloud.vision.v1. PurgeProductsRequest 
 
 ; 
 import 
  
 com.google.protobuf. Empty 
 
 ; 
 import 
  
 java.util.concurrent.TimeUnit 
 ; 
 public 
  
 class 
 PurgeProducts 
  
 { 
  
 // Delete the product and all its reference images. 
  
 public 
  
 static 
  
 void 
  
 purgeOrphanProducts 
 ( 
 String 
  
 projectId 
 , 
  
 String 
  
 computeRegion 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // String projectId = "YOUR_PROJECT_ID"; 
  
 // String computeRegion = "us-central1"; 
  
 // boolean force = true; 
  
 try 
  
 ( 
  ProductSearchClient 
 
  
 client 
  
 = 
  
  ProductSearchClient 
 
 . 
 create 
 ()) 
  
 { 
  
 String 
  
 parent 
  
 = 
  
  LocationName 
 
 . 
 format 
 ( 
 projectId 
 , 
  
 computeRegion 
 ); 
  
 // The purge operation is async. 
  
  PurgeProductsRequest 
 
  
 request 
  
 = 
  
  PurgeProductsRequest 
 
 . 
 newBuilder 
 () 
  
 . 
  setDeleteOrphanProducts 
 
 ( 
 true 
 ) 
  
 // The operation is irreversible and removes multiple products. 
  
 // The user is required to pass in force=True to actually perform the 
  
 // purge. 
  
 // If force is not set to True, the service raises an exception. 
  
 . 
  setForce 
 
 ( 
 true 
 ) 
  
 . 
 setParent 
 ( 
 parent 
 ) 
  
 . 
 build 
 (); 
  
 OperationFuture<Empty 
 , 
  
 BatchOperationMetadata 
>  
 response 
  
 = 
  
 client 
 . 
  purgeProductsAsync 
 
 ( 
 request 
 ); 
  
 response 
 . 
 getPollingFuture 
 (). 
 get 
 ( 
 180 
 , 
  
 TimeUnit 
 . 
 SECONDS 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Orphan products deleted." 
 ); 
  
 } 
  
 } 
 } 
 

Node.js

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Node.js API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  // Imports the Google Cloud client library 
 const 
  
 vision 
  
 = 
  
 require 
 ( 
 ' @google-cloud/vision 
' 
 ); 
 // Creates a client 
 const 
  
 client 
  
 = 
  
 new 
  
 vision 
 . 
  ProductSearchClient 
 
 (); 
 async 
  
 function 
  
 purgeOrphanProducts 
 () 
  
 { 
  
 // Deletes all products not in any product sets. 
  
 /** 
 * TODO(developer): Uncomment the following line before running the sample. 
 */ 
  
 // const projectId = 'Your Google Cloud project Id'; 
  
 // const location = 'A compute region name'; 
  
 const 
  
 formattedParent 
  
 = 
  
 client 
 . 
 locationPath 
 ( 
 projectId 
 , 
  
 location 
 ); 
  
 // The operation is irreversible and removes multiple products. 
  
 // The user is required to pass in force=true to actually perform the purge. 
  
 // If force is not set to True, the service raises an error. 
  
 const 
  
 force 
  
 = 
  
 true 
 ; 
  
 try 
  
 { 
  
 const 
  
 [ 
 operation 
 ] 
  
 = 
  
 await 
  
 client 
 . 
 purgeProducts 
 ({ 
  
 parent 
 : 
  
 formattedParent 
 , 
  
 deleteOrphanProducts 
 : 
  
 true 
 , 
  
 force 
 : 
  
 force 
 , 
  
 }); 
  
 await 
  
 operation 
 . 
 promise 
 (); 
  
 console 
 . 
 log 
 ( 
 'Orphan products deleted.' 
 ); 
  
 } 
  
 catch 
  
 ( 
 err 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 err 
 ); 
  
 } 
 } 
 purgeOrphanProducts 
 (); 
 

Python

To learn how to install and use the client library for Vision API Product Search, see Vision API Product Search client libraries . For more information, see the Vision API Product Search Python API reference documentation .

To authenticate to Vision API Product Search, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  from 
  
 google.cloud 
  
 import 
 vision 
 from 
  
 google.protobuf 
  
 import 
 field_mask_pb2 
 as 
 field_mask 
 def 
  
 purge_orphan_products 
 ( 
 project_id 
 , 
 location 
 , 
 force 
 ): 
  
 """Delete all products not in any product sets. 
 Args: 
 project_id: Id of the project. 
 location: A compute region name. 
 """ 
 client 
 = 
 vision 
 . 
  ProductSearchClient 
 
 () 
 parent 
 = 
 f 
 "projects/ 
 { 
 project_id 
 } 
 /locations/ 
 { 
 location 
 } 
 " 
 # The purge operation is async. 
 operation 
 = 
 client 
 . 
  purge_products 
 
 ( 
 request 
 = 
 { 
 "parent" 
 : 
 parent 
 , 
 "delete_orphan_products" 
 : 
 True 
 , 
 # The operation is irreversible and removes multiple products. 
 # The user is required to pass in force=True to actually perform the 
 # purge. 
 # If force is not set to True, the service raises an exception. 
 "force" 
 : 
 force 
 , 
 } 
 ) 
 operation 
 . 
 result 
 ( 
 timeout 
 = 
 500 
 ) 
 print 
 ( 
 "Orphan products deleted." 
 ) 
 

Additional languages

C#: Please follow the C# setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for .NET.

PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for PHP.

Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the Vision API Product Search reference documentation for Ruby.

Getting the status of an operation

You can use the operation-id of a long-running operation (such as purge product set, or purge orphan products) to get its status.

REST

Before using any of the request data, make the following replacements:

  • PROJECT_ID : Your Google Cloud project ID.
  • LOCATION_ID : A valid location identifier. Valid location identifiers are: us-west1 , us-east1 , europe-west1 , and asia-east1 .
  • OPERATION_ID : The ID of your operation. The ID is the last element of the name of your operation. For example:
    • operation name: projects/ PROJECT_ID /locations/ LOCATION_ID /operations/ bc4e1d412863e626
    • operation id: bc4e1d412863e626

HTTP method and URL:

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

To send your request, choose one of these options:

curl

Execute the following command:

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 the following command:

$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
You should see output similar to the following for a completed product set purge operation :
{
  "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 
}
}

You should see output similar to the following for a completed purge orphaned products operation :

{
  "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 
}
}
Design a Mobile Site
View Site in Mobile | Classic
Share by: