public static final class ProductSearchGrpc.ProductSearchStub extends AbstractAsyncStub<ProductSearchGrpc.ProductSearchStub>
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 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 resources, named
projects/*/locations/*/products/*
- Each Product has a collection of ReferenceImage resources, named
projects/*/locations/*/products/*/referenceImages/*
Inheritance
java.lang.Object >
io.grpc.stub.AbstractStub >
io.grpc.stub.AbstractAsyncStub >
ProductSearchGrpc.ProductSearchStub
Inherited Members
io.grpc.stub.AbstractAsyncStub.<T>newStub(io.grpc.stub.AbstractStub.StubFactory<T>,io.grpc.Channel)
io.grpc.stub.AbstractAsyncStub.<T>newStub(io.grpc.stub.AbstractStub.StubFactory<T>,io.grpc.Channel,io.grpc.CallOptions)
io.grpc.stub.AbstractStub.<T>withOption(io.grpc.CallOptions.Key<T>,T)
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)
io.grpc.stub.AbstractStub.getCallOptions()
io.grpc.stub.AbstractStub.getChannel()
io.grpc.stub.AbstractStub.withCallCredentials(io.grpc.CallCredentials)
io.grpc.stub.AbstractStub.withChannel(io.grpc.Channel)
io.grpc.stub.AbstractStub.withCompression(java.lang.String)
io.grpc.stub.AbstractStub.withDeadline(io.grpc.Deadline)
io.grpc.stub.AbstractStub.withDeadlineAfter(long,java.util.concurrent.TimeUnit)
io.grpc.stub.AbstractStub.withExecutor(java.util.concurrent.Executor)
io.grpc.stub.AbstractStub.withInterceptors(io.grpc.ClientInterceptor...)
io.grpc.stub.AbstractStub.withMaxInboundMessageSize(int)
io.grpc.stub.AbstractStub.withMaxOutboundMessageSize(int)
io.grpc.stub.AbstractStub.withWaitForReady()
Methods
addProductToProductSet(AddProductToProductSetRequest request, StreamObserver<Empty> responseObserver)
public void addProductToProductSet(AddProductToProductSetRequest request, StreamObserver<Empty> responseObserver)
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.
Parameters
build(Channel channel, CallOptions callOptions)
protected ProductSearchGrpc.ProductSearchStub build(Channel channel, CallOptions callOptions)
Parameters
Name | Description |
channel | io.grpc.Channel
|
callOptions | io.grpc.CallOptions
|
Returns
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)
createProduct(CreateProductRequest request, StreamObserver<Product> responseObserver)
public void createProduct(CreateProductRequest request, StreamObserver<Product> responseObserver)
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.
Parameters
createProductSet(CreateProductSetRequest request, StreamObserver<ProductSet> responseObserver)
public void createProductSet(CreateProductSetRequest request, StreamObserver<ProductSet> responseObserver)
Creates and returns a new ProductSet resource.
Possible errors:
- Returns INVALID_ARGUMENT if display_name is missing, or is longer than
4096 characters.
Parameters
createReferenceImage(CreateReferenceImageRequest request, StreamObserver<ReferenceImage> responseObserver)
public void createReferenceImage(CreateReferenceImageRequest request, StreamObserver<ReferenceImage> responseObserver)
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.
Parameters
deleteProduct(DeleteProductRequest request, StreamObserver<Empty> responseObserver)
public void deleteProduct(DeleteProductRequest request, StreamObserver<Empty> responseObserver)
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.
Parameters
deleteProductSet(DeleteProductSetRequest request, StreamObserver<Empty> responseObserver)
public void deleteProductSet(DeleteProductSetRequest request, StreamObserver<Empty> responseObserver)
Permanently deletes a ProductSet. Products and ReferenceImages in the
ProductSet are not deleted.
The actual image files are not deleted from Google Cloud Storage.
Parameters
deleteReferenceImage(DeleteReferenceImageRequest request, StreamObserver<Empty> responseObserver)
public void deleteReferenceImage(DeleteReferenceImageRequest request, StreamObserver<Empty> responseObserver)
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.
Parameters
getProduct(GetProductRequest request, StreamObserver<Product> responseObserver)
public void getProduct(GetProductRequest request, StreamObserver<Product> responseObserver)
Gets information associated with a Product.
Possible errors:
- Returns NOT_FOUND if the Product does not exist.
Parameters
getProductSet(GetProductSetRequest request, StreamObserver<ProductSet> responseObserver)
public void getProductSet(GetProductSetRequest request, StreamObserver<ProductSet> responseObserver)
Gets information associated with a ProductSet.
Possible errors:
- Returns NOT_FOUND if the ProductSet does not exist.
Parameters
getReferenceImage(GetReferenceImageRequest request, StreamObserver<ReferenceImage> responseObserver)
public void getReferenceImage(GetReferenceImageRequest request, StreamObserver<ReferenceImage> responseObserver)
Gets information associated with a ReferenceImage.
Possible errors:
- Returns NOT_FOUND if the specified image does not exist.
Parameters
importProductSets(ImportProductSetsRequest request, StreamObserver<Operation> responseObserver)
public void importProductSets(ImportProductSetsRequest request, StreamObserver<Operation> responseObserver)
Asynchronous API that imports a list of reference images to specified
product sets based on a list of image information.
The 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.
Parameters
listProductSets(ListProductSetsRequest request, StreamObserver<ListProductSetsResponse> responseObserver)
public void listProductSets(ListProductSetsRequest request, StreamObserver<ListProductSetsResponse> responseObserver)
Lists ProductSets in an unspecified order.
Possible errors:
- Returns INVALID_ARGUMENT if page_size is greater than 100, or less
than 1.
Parameters
listProducts(ListProductsRequest request, StreamObserver<ListProductsResponse> responseObserver)
public void listProducts(ListProductsRequest request, StreamObserver<ListProductsResponse> responseObserver)
Lists products in an unspecified order.
Possible errors:
- Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
Parameters
listProductsInProductSet(ListProductsInProductSetRequest request, StreamObserver<ListProductsInProductSetResponse> responseObserver)
public void listProductsInProductSet(ListProductsInProductSetRequest request, StreamObserver<ListProductsInProductSetResponse> responseObserver)
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.
Parameters
listReferenceImages(ListReferenceImagesRequest request, StreamObserver<ListReferenceImagesResponse> responseObserver)
public void listReferenceImages(ListReferenceImagesRequest request, StreamObserver<ListReferenceImagesResponse> responseObserver)
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.
Parameters
purgeProducts(PurgeProductsRequest request, StreamObserver<Operation> responseObserver)
public void purgeProducts(PurgeProductsRequest request, StreamObserver<Operation> responseObserver)
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 API can be used to keep track of the
progress and results of the request.
Operation.metadata
contains BatchOperationMetadata
. (progress)
Parameters
removeProductFromProductSet(RemoveProductFromProductSetRequest request, StreamObserver<Empty> responseObserver)
public void removeProductFromProductSet(RemoveProductFromProductSetRequest request, StreamObserver<Empty> responseObserver)
Removes a Product from the specified ProductSet.
Parameters
updateProduct(UpdateProductRequest request, StreamObserver<Product> responseObserver)
public void updateProduct(UpdateProductRequest request, StreamObserver<Product> responseObserver)
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.
Parameters
updateProductSet(UpdateProductSetRequest request, StreamObserver<ProductSet> responseObserver)
public void updateProductSet(UpdateProductSetRequest request, StreamObserver<ProductSet> responseObserver)
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.
Parameters