Class ProductSearchGrpc.ProductSearchFutureStub

  • Enclosing class:
    ProductSearchGrpc

    public static final class ProductSearchGrpc.ProductSearchFutureStub
    extends io.grpc.stub.AbstractFutureStub<ProductSearchGrpc.ProductSearchFutureStub>
    A stub to allow clients to do ListenableFuture-style rpc calls to service ProductSearch.
     Manages Products and ProductSets of reference images for use in product
     search. It uses the following resource model:
     - The API has a collection of
     [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] resources, named
     `projects/*/locations/*/productSets/*`, which acts as a way to put different
     products into groups to limit identification.
     In parallel,
     - The API has a collection of
     [Product][google.cloud.vision.v1p4beta1.Product] resources, named
       `projects/*/locations/*/products/*`
     - Each [Product][google.cloud.vision.v1p4beta1.Product] has a collection of
     [ReferenceImage][google.cloud.vision.v1p4beta1.ReferenceImage] resources,
     named
       `projects/*/locations/*/products/*/referenceImages/*`
     
    • Method Detail

      • createProductSet

        public com.google.common.util.concurrent.ListenableFuture<ProductSet> createProductSet​(CreateProductSetRequest request)
         Creates and returns a new ProductSet resource.
         Possible errors:
         * Returns INVALID_ARGUMENT if display_name is missing, or is longer than
           4096 characters.
         
      • listProductSets

        public com.google.common.util.concurrent.ListenableFuture<ListProductSetsResponse> listProductSets​(ListProductSetsRequest request)
         Lists ProductSets in an unspecified order.
         Possible errors:
         * Returns INVALID_ARGUMENT if page_size is greater than 100, or less
           than 1.
         
      • getProductSet

        public com.google.common.util.concurrent.ListenableFuture<ProductSet> getProductSet​(GetProductSetRequest request)
         Gets information associated with a ProductSet.
         Possible errors:
         * Returns NOT_FOUND if the ProductSet does not exist.
         
      • updateProductSet

        public com.google.common.util.concurrent.ListenableFuture<ProductSet> updateProductSet​(UpdateProductSetRequest request)
         Makes changes to a ProductSet resource.
         Only display_name can be updated currently.
         Possible errors:
         * Returns NOT_FOUND if the ProductSet does not exist.
         * Returns INVALID_ARGUMENT if display_name is present in update_mask but
           missing from the request or longer than 4096 characters.
         
      • deleteProductSet

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> deleteProductSet​(DeleteProductSetRequest request)
         Permanently deletes a ProductSet. Products and ReferenceImages in the
         ProductSet are not deleted.
         The actual image files are not deleted from Google Cloud Storage.
         
      • createProduct

        public com.google.common.util.concurrent.ListenableFuture<Product> createProduct​(CreateProductRequest request)
         Creates and returns a new product resource.
         Possible errors:
         * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096
           characters.
         * Returns INVALID_ARGUMENT if description is longer than 4096 characters.
         * Returns INVALID_ARGUMENT if product_category is missing or invalid.
         
      • listProducts

        public com.google.common.util.concurrent.ListenableFuture<ListProductsResponse> listProducts​(ListProductsRequest request)
         Lists products in an unspecified order.
         Possible errors:
         * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
         
      • getProduct

        public com.google.common.util.concurrent.ListenableFuture<Product> getProduct​(GetProductRequest request)
         Gets information associated with a Product.
         Possible errors:
         * Returns NOT_FOUND if the Product does not exist.
         
      • updateProduct

        public com.google.common.util.concurrent.ListenableFuture<Product> updateProduct​(UpdateProductRequest request)
         Makes changes to a Product resource.
         Only the `display_name`, `description`, and `labels` fields can be updated
         right now.
         If labels are updated, the change will not be reflected in queries until
         the next index time.
         Possible errors:
         * Returns NOT_FOUND if the Product does not exist.
         * Returns INVALID_ARGUMENT if display_name is present in update_mask but is
           missing from the request or longer than 4096 characters.
         * Returns INVALID_ARGUMENT if description is present in update_mask but is
           longer than 4096 characters.
         * Returns INVALID_ARGUMENT if product_category is present in update_mask.
         
      • deleteProduct

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> deleteProduct​(DeleteProductRequest request)
         Permanently deletes a product and its reference images.
         Metadata of the product and all its images will be deleted right away, but
         search queries against ProductSets containing the product may still work
         until all related caches are refreshed.
         
      • createReferenceImage

        public com.google.common.util.concurrent.ListenableFuture<ReferenceImage> createReferenceImage​(CreateReferenceImageRequest request)
         Creates and returns a new ReferenceImage resource.
         The `bounding_poly` field is optional. If `bounding_poly` is not specified,
         the system will try to detect regions of interest in the image that are
         compatible with the product_category on the parent product. If it is
         specified, detection is ALWAYS skipped. The system converts polygons into
         non-rotated rectangles.
         Note that the pipeline will resize the image if the image resolution is too
         large to process (above 50MP).
         Possible errors:
         * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096
           characters.
         * Returns INVALID_ARGUMENT if the product does not exist.
         * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing
           compatible with the parent product's product_category is detected.
         * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.
         
      • deleteReferenceImage

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> deleteReferenceImage​(DeleteReferenceImageRequest request)
         Permanently deletes a reference image.
         The image metadata will be deleted right away, but search queries
         against ProductSets containing the image may still work until all related
         caches are refreshed.
         The actual image files are not deleted from Google Cloud Storage.
         
      • listReferenceImages

        public com.google.common.util.concurrent.ListenableFuture<ListReferenceImagesResponse> listReferenceImages​(ListReferenceImagesRequest request)
         Lists reference images.
         Possible errors:
         * Returns NOT_FOUND if the parent product does not exist.
         * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less
           than 1.
         
      • getReferenceImage

        public com.google.common.util.concurrent.ListenableFuture<ReferenceImage> getReferenceImage​(GetReferenceImageRequest request)
         Gets information associated with a ReferenceImage.
         Possible errors:
         * Returns NOT_FOUND if the specified image does not exist.
         
      • addProductToProductSet

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> addProductToProductSet​(AddProductToProductSetRequest request)
         Adds a Product to the specified ProductSet. If the Product is already
         present, no change is made.
         One Product can be added to at most 100 ProductSets.
         Possible errors:
         * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
         
      • removeProductFromProductSet

        public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> removeProductFromProductSet​(RemoveProductFromProductSetRequest request)
         Removes a Product from the specified ProductSet.
         
      • listProductsInProductSet

        public com.google.common.util.concurrent.ListenableFuture<ListProductsInProductSetResponse> listProductsInProductSet​(ListProductsInProductSetRequest request)
         Lists the Products in a ProductSet, in an unspecified order. If the
         ProductSet does not exist, the products field of the response will be
         empty.
         Possible errors:
         * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
         
      • importProductSets

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> importProductSets​(ImportProductSetsRequest request)
         Asynchronous API that imports a list of reference images to specified
         product sets based on a list of image information.
         The [google.longrunning.Operation][google.longrunning.Operation] API can be
         used to keep track of the progress and results of the request.
         `Operation.metadata` contains `BatchOperationMetadata`. (progress)
         `Operation.response` contains `ImportProductSetsResponse`. (results)
         The input source of this method is a csv file on Google Cloud Storage.
         For the format of the csv file please see
         [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri].
         
      • purgeProducts

        public com.google.common.util.concurrent.ListenableFuture<com.google.longrunning.Operation> purgeProducts​(PurgeProductsRequest request)
         Asynchronous API to delete all Products in a ProductSet or all Products
         that are in no ProductSet.
         If a Product is a member of the specified ProductSet in addition to other
         ProductSets, the Product will still be deleted.
         It is recommended to not delete the specified ProductSet until after this
         operation has completed. It is also recommended to not add any of the
         Products involved in the batch delete to a new ProductSet while this
         operation is running because those Products may still end up deleted.
         It's not possible to undo the PurgeProducts operation. Therefore, it is
         recommended to keep the csv files used in ImportProductSets (if that was
         how you originally built the Product Set) before starting PurgeProducts, in
         case you need to re-import the data after deletion.
         If the plan is to purge all of the Products from a ProductSet and then
         re-use the empty ProductSet to re-import new Products into the empty
         ProductSet, you must wait until the PurgeProducts operation has finished
         for that ProductSet.
         The [google.longrunning.Operation][google.longrunning.Operation] API can be
         used to keep track of the progress and results of the request.
         `Operation.metadata` contains `BatchOperationMetadata`. (progress)