go: cloud.google.com/go/vision/apiv1 Index | Examples | Files

package vision

import "cloud.google.com/go/vision/apiv1"

Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.

Index

Examples

Package Files

client.go doc.go face.go image.go image_annotator_client.go product_search_client.go

func DefaultAuthScopes Uses

func DefaultAuthScopes() []string

DefaultAuthScopes reports the default set of authentication scopes to use with this package.

func NewImageFromReader Uses

func NewImageFromReader(r io.Reader) (*pb.Image, error)

NewImageFromReader reads the bytes of an image from r.

func NewImageFromURI Uses

func NewImageFromURI(uri string) *pb.Image

NewImageFromURI returns an image that refers to an object in Google Cloud Storage (when the uri is of the form "gs://BUCKET/OBJECT") or at a public URL.

type AsyncBatchAnnotateFilesOperation Uses

type AsyncBatchAnnotateFilesOperation struct {
    // contains filtered or unexported fields
}

AsyncBatchAnnotateFilesOperation manages a long-running operation from AsyncBatchAnnotateFiles.

func (*AsyncBatchAnnotateFilesOperation) Done Uses

func (op *AsyncBatchAnnotateFilesOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*AsyncBatchAnnotateFilesOperation) Metadata Uses

func (op *AsyncBatchAnnotateFilesOperation) Metadata() (*visionpb.OperationMetadata, error)

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*AsyncBatchAnnotateFilesOperation) Name Uses

func (op *AsyncBatchAnnotateFilesOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*AsyncBatchAnnotateFilesOperation) Poll Uses

func (op *AsyncBatchAnnotateFilesOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*visionpb.AsyncBatchAnnotateFilesResponse, error)

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*AsyncBatchAnnotateFilesOperation) Wait Uses

func (op *AsyncBatchAnnotateFilesOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*visionpb.AsyncBatchAnnotateFilesResponse, error)

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type Chin Uses

type Chin struct {
    Left, Center, Right *pb.Position
}

Chin represents a face's chin.

type Ears Uses

type Ears struct {
    Left, Right *pb.Position
}

Ears represents a face's ears.

type Eye Uses

type Eye struct {
    Left, Right, Top, Bottom, Center, Pupil *pb.Position
}

Eye represents a face's eye.

type Eyebrow Uses

type Eyebrow struct {
    Top, Left, Right *pb.Position
}

Eyebrow represents a face's eyebrow.

type Eyebrows Uses

type Eyebrows struct {
    Left, Right Eyebrow
}

Eyebrows represents a face's eyebrows.

type Eyes Uses

type Eyes struct {
    Left, Right Eye
}

Eyes represents a face's eyes.

type FaceLandmarks Uses

type FaceLandmarks struct {
    Eyebrows Eyebrows
    Eyes     Eyes
    Ears     Ears
    Nose     Nose
    Mouth    Mouth
    Chin     Chin
    Forehead *pb.Position
}

FaceLandmarks contains the positions of facial features detected by the service.

func FaceFromLandmarks Uses

func FaceFromLandmarks(landmarks []*pb.FaceAnnotation_Landmark) *FaceLandmarks

FaceFromLandmarks converts the list of face landmarks returned by the service to a FaceLandmarks struct.

type ImageAnnotatorCallOptions Uses

type ImageAnnotatorCallOptions struct {
    BatchAnnotateImages     []gax.CallOption
    AsyncBatchAnnotateFiles []gax.CallOption
}

ImageAnnotatorCallOptions contains the retry settings for each method of ImageAnnotatorClient.

type ImageAnnotatorClient Uses

type ImageAnnotatorClient struct {

    // LROClient is used internally to handle longrunning operations.
    // It is exposed so that its CallOptions can be modified if required.
    // Users should not Close this client.
    LROClient *lroauto.OperationsClient

    // The call options for this service.
    CallOptions *ImageAnnotatorCallOptions
    // contains filtered or unexported fields
}

ImageAnnotatorClient is a client for interacting with Cloud Vision API.

Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

func NewImageAnnotatorClient Uses

func NewImageAnnotatorClient(ctx context.Context, opts ...option.ClientOption) (*ImageAnnotatorClient, error)

NewImageAnnotatorClient creates a new image annotator client.

Service that performs Google Cloud Vision API detection tasks over client images, such as face, landmark, logo, label, and text detection. The ImageAnnotator service returns detected entities from the images.

Code:

ctx := context.Background()
c, err := vision.NewImageAnnotatorClient(ctx)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use client.
_ = c

func (*ImageAnnotatorClient) AnnotateImage Uses

func (c *ImageAnnotatorClient) AnnotateImage(ctx context.Context, req *pb.AnnotateImageRequest, opts ...gax.CallOption) (*pb.AnnotateImageResponse, error)

AnnotateImage runs image detection and annotation for a single image.

Code:

ctx := context.Background()
c, err := vision.NewImageAnnotatorClient(ctx)
if err != nil {
    // TODO: Handle error.
}
res, err := c.AnnotateImage(ctx, &pb.AnnotateImageRequest{
    Image: vision.NewImageFromURI("gs://my-bucket/my-image.png"),
    Features: []*pb.Feature{
        {Type: pb.Feature_LANDMARK_DETECTION, MaxResults: 5},
        {Type: pb.Feature_LABEL_DETECTION, MaxResults: 3},
    },
})
if err != nil {
    // TODO: Handle error.
}
// TODO: Use res.
_ = res

func (*ImageAnnotatorClient) AsyncBatchAnnotateFiles Uses

func (c *ImageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, req *visionpb.AsyncBatchAnnotateFilesRequest, opts ...gax.CallOption) (*AsyncBatchAnnotateFilesOperation, error)

AsyncBatchAnnotateFiles run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the google.longrunning.Operations interface. Operation.metadata contains OperationMetadata (metadata). Operation.response contains AsyncBatchAnnotateFilesResponse (results).

Code:

ctx := context.Background()
c, err := vision.NewImageAnnotatorClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.AsyncBatchAnnotateFilesRequest{
    // TODO: Fill request struct fields.
}
op, err := c.AsyncBatchAnnotateFiles(ctx, req)
if err != nil {
    // TODO: Handle error.
}

resp, err := op.Wait(ctx)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ImageAnnotatorClient) AsyncBatchAnnotateFilesOperation Uses

func (c *ImageAnnotatorClient) AsyncBatchAnnotateFilesOperation(name string) *AsyncBatchAnnotateFilesOperation

AsyncBatchAnnotateFilesOperation returns a new AsyncBatchAnnotateFilesOperation from a given name. The name must be that of a previously created AsyncBatchAnnotateFilesOperation, possibly from a different process.

func (*ImageAnnotatorClient) BatchAnnotateImages Uses

func (c *ImageAnnotatorClient) BatchAnnotateImages(ctx context.Context, req *visionpb.BatchAnnotateImagesRequest, opts ...gax.CallOption) (*visionpb.BatchAnnotateImagesResponse, error)

BatchAnnotateImages run image detection and annotation for a batch of images.

Code:

ctx := context.Background()
c, err := vision.NewImageAnnotatorClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.BatchAnnotateImagesRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.BatchAnnotateImages(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ImageAnnotatorClient) Close Uses

func (c *ImageAnnotatorClient) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*ImageAnnotatorClient) Connection Uses

func (c *ImageAnnotatorClient) Connection() *grpc.ClientConn

Connection returns the client's connection to the API service.

func (*ImageAnnotatorClient) CropHints Uses

func (c *ImageAnnotatorClient) CropHints(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.CropHintsAnnotation, error)

CropHints computes crop hints for the image.

func (*ImageAnnotatorClient) DetectDocumentText Uses

func (c *ImageAnnotatorClient) DetectDocumentText(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.TextAnnotation, error)

DetectDocumentText performs full text (OCR) detection on the image.

func (*ImageAnnotatorClient) DetectFaces Uses

func (c *ImageAnnotatorClient) DetectFaces(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.FaceAnnotation, error)

DetectFaces performs face detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectImageProperties Uses

func (c *ImageAnnotatorClient) DetectImageProperties(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.ImageProperties, error)

DetectImageProperties computes properties of the image.

func (*ImageAnnotatorClient) DetectLabels Uses

func (c *ImageAnnotatorClient) DetectLabels(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectLabels performs label detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectLandmarks Uses

func (c *ImageAnnotatorClient) DetectLandmarks(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectLandmarks performs landmark detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectLogos Uses

func (c *ImageAnnotatorClient) DetectLogos(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectLogos performs logo detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectSafeSearch Uses

func (c *ImageAnnotatorClient) DetectSafeSearch(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.SafeSearchAnnotation, error)

DetectSafeSearch performs safe-search detection on the image.

func (*ImageAnnotatorClient) DetectTexts Uses

func (c *ImageAnnotatorClient) DetectTexts(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectTexts performs text detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectWeb Uses

func (c *ImageAnnotatorClient) DetectWeb(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.WebDetection, error)

DetectWeb computes a web annotation on the image.

func (*ImageAnnotatorClient) LocalizeObjects Uses

func (c *ImageAnnotatorClient) LocalizeObjects(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) ([]*pb.LocalizedObjectAnnotation, error)

LocalizeObject runs the localizer for object detection.

func (*ImageAnnotatorClient) ProductSearch Uses

func (c *ImageAnnotatorClient) ProductSearch(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.ProductSearchResults, error)

ProductSearch searches the image for products.

type ImportProductSetsOperation Uses

type ImportProductSetsOperation struct {
    // contains filtered or unexported fields
}

ImportProductSetsOperation manages a long-running operation from ImportProductSets.

func (*ImportProductSetsOperation) Done Uses

func (op *ImportProductSetsOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*ImportProductSetsOperation) Metadata Uses

func (op *ImportProductSetsOperation) Metadata() (*visionpb.BatchOperationMetadata, error)

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*ImportProductSetsOperation) Name Uses

func (op *ImportProductSetsOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*ImportProductSetsOperation) Poll Uses

func (op *ImportProductSetsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*visionpb.ImportProductSetsResponse, error)

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*ImportProductSetsOperation) Wait Uses

func (op *ImportProductSetsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*visionpb.ImportProductSetsResponse, error)

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type Mouth Uses

type Mouth struct {
    Left, Center, Right, UpperLip, LowerLip *pb.Position
}

Mouth represents a face's mouth.

type Nose Uses

type Nose struct {
    Left, Right, Top, Bottom, Tip *pb.Position
}

Nose represents a face's nose.

type ProductIterator Uses

type ProductIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*visionpb.Product, nextPageToken string, err error)
    // contains filtered or unexported fields
}

ProductIterator manages a stream of *visionpb.Product.

func (*ProductIterator) Next Uses

func (it *ProductIterator) Next() (*visionpb.Product, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ProductIterator) PageInfo Uses

func (it *ProductIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ProductSearchCallOptions Uses

type ProductSearchCallOptions struct {
    CreateProduct               []gax.CallOption
    ListProducts                []gax.CallOption
    GetProduct                  []gax.CallOption
    UpdateProduct               []gax.CallOption
    DeleteProduct               []gax.CallOption
    ListReferenceImages         []gax.CallOption
    GetReferenceImage           []gax.CallOption
    DeleteReferenceImage        []gax.CallOption
    CreateReferenceImage        []gax.CallOption
    CreateProductSet            []gax.CallOption
    ListProductSets             []gax.CallOption
    GetProductSet               []gax.CallOption
    UpdateProductSet            []gax.CallOption
    DeleteProductSet            []gax.CallOption
    AddProductToProductSet      []gax.CallOption
    RemoveProductFromProductSet []gax.CallOption
    ListProductsInProductSet    []gax.CallOption
    ImportProductSets           []gax.CallOption
}

ProductSearchCallOptions contains the retry settings for each method of ProductSearchClient.

type ProductSearchClient Uses

type ProductSearchClient struct {

    // LROClient is used internally to handle longrunning operations.
    // It is exposed so that its CallOptions can be modified if required.
    // Users should not Close this client.
    LROClient *lroauto.OperationsClient

    // The call options for this service.
    CallOptions *ProductSearchCallOptions
    // contains filtered or unexported fields
}

ProductSearchClient is a client for interacting with Cloud Vision API.

Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

func NewProductSearchClient Uses

func NewProductSearchClient(ctx context.Context, opts ...option.ClientOption) (*ProductSearchClient, error)

NewProductSearchClient creates a new product search client.

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.v1.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.v1.Product] resources, named
projects/*/locations/*/products/*

Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named
projects/*/locations/*/products/*/referenceImages/*

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use client.
_ = c

func (*ProductSearchClient) AddProductToProductSet Uses

func (c *ProductSearchClient) AddProductToProductSet(ctx context.Context, req *visionpb.AddProductToProductSetRequest, opts ...gax.CallOption) error

AddProductToProductSet 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.AddProductToProductSetRequest{
    // TODO: Fill request struct fields.
}
err = c.AddProductToProductSet(ctx, req)
if err != nil {
    // TODO: Handle error.
}

func (*ProductSearchClient) Close Uses

func (c *ProductSearchClient) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*ProductSearchClient) Connection Uses

func (c *ProductSearchClient) Connection() *grpc.ClientConn

Connection returns the client's connection to the API service.

func (*ProductSearchClient) CreateProduct Uses

func (c *ProductSearchClient) CreateProduct(ctx context.Context, req *visionpb.CreateProductRequest, opts ...gax.CallOption) (*visionpb.Product, error)

CreateProduct 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.CreateProductRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.CreateProduct(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) CreateProductSet Uses

func (c *ProductSearchClient) CreateProductSet(ctx context.Context, req *visionpb.CreateProductSetRequest, opts ...gax.CallOption) (*visionpb.ProductSet, error)

CreateProductSet creates and returns a new ProductSet resource.

Possible errors:

Returns INVALID_ARGUMENT if display_name is missing, or is longer than
4096 characters.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.CreateProductSetRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.CreateProductSet(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) CreateReferenceImage Uses

func (c *ProductSearchClient) CreateReferenceImage(ctx context.Context, req *visionpb.CreateReferenceImageRequest, opts ...gax.CallOption) (*visionpb.ReferenceImage, error)

CreateReferenceImage 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.CreateReferenceImageRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.CreateReferenceImage(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) DeleteProduct Uses

func (c *ProductSearchClient) DeleteProduct(ctx context.Context, req *visionpb.DeleteProductRequest, opts ...gax.CallOption) error

DeleteProduct 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.

Possible errors:

Returns NOT_FOUND if the product does not exist.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.DeleteProductRequest{
    // TODO: Fill request struct fields.
}
err = c.DeleteProduct(ctx, req)
if err != nil {
    // TODO: Handle error.
}

func (*ProductSearchClient) DeleteProductSet Uses

func (c *ProductSearchClient) DeleteProductSet(ctx context.Context, req *visionpb.DeleteProductSetRequest, opts ...gax.CallOption) error

DeleteProductSet permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted.

The actual image files are not deleted from Google Cloud Storage.

Possible errors:

Returns NOT_FOUND if the ProductSet does not exist.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.DeleteProductSetRequest{
    // TODO: Fill request struct fields.
}
err = c.DeleteProductSet(ctx, req)
if err != nil {
    // TODO: Handle error.
}

func (*ProductSearchClient) DeleteReferenceImage Uses

func (c *ProductSearchClient) DeleteReferenceImage(ctx context.Context, req *visionpb.DeleteReferenceImageRequest, opts ...gax.CallOption) error

DeleteReferenceImage 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.

Possible errors:

Returns NOT_FOUND if the reference image does not exist.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.DeleteReferenceImageRequest{
    // TODO: Fill request struct fields.
}
err = c.DeleteReferenceImage(ctx, req)
if err != nil {
    // TODO: Handle error.
}

func (*ProductSearchClient) GetProduct Uses

func (c *ProductSearchClient) GetProduct(ctx context.Context, req *visionpb.GetProductRequest, opts ...gax.CallOption) (*visionpb.Product, error)

GetProduct gets information associated with a Product.

Possible errors:

Returns NOT_FOUND if the Product does not exist.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.GetProductRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.GetProduct(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) GetProductSet Uses

func (c *ProductSearchClient) GetProductSet(ctx context.Context, req *visionpb.GetProductSetRequest, opts ...gax.CallOption) (*visionpb.ProductSet, error)

GetProductSet gets information associated with a ProductSet.

Possible errors:

Returns NOT_FOUND if the ProductSet does not exist.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.GetProductSetRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.GetProductSet(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) GetReferenceImage Uses

func (c *ProductSearchClient) GetReferenceImage(ctx context.Context, req *visionpb.GetReferenceImageRequest, opts ...gax.CallOption) (*visionpb.ReferenceImage, error)

GetReferenceImage gets information associated with a ReferenceImage.

Possible errors:

Returns NOT_FOUND if the specified image does not exist.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.GetReferenceImageRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.GetReferenceImage(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) ImportProductSets Uses

func (c *ProductSearchClient) ImportProductSets(ctx context.Context, req *visionpb.ImportProductSetsRequest, opts ...gax.CallOption) (*ImportProductSetsOperation, error)

ImportProductSets 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.v1.ImportProductSetsGcsSource.csv_file_uri].

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.ImportProductSetsRequest{
    // TODO: Fill request struct fields.
}
op, err := c.ImportProductSets(ctx, req)
if err != nil {
    // TODO: Handle error.
}

resp, err := op.Wait(ctx)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) ImportProductSetsOperation Uses

func (c *ProductSearchClient) ImportProductSetsOperation(name string) *ImportProductSetsOperation

ImportProductSetsOperation returns a new ImportProductSetsOperation from a given name. The name must be that of a previously created ImportProductSetsOperation, possibly from a different process.

func (*ProductSearchClient) ListProductSets Uses

func (c *ProductSearchClient) ListProductSets(ctx context.Context, req *visionpb.ListProductSetsRequest, opts ...gax.CallOption) *ProductSetIterator

ListProductSets lists ProductSets in an unspecified order.

Possible errors:

Returns INVALID_ARGUMENT if page_size is greater than 100, or less
than 1.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.ListProductSetsRequest{
    // TODO: Fill request struct fields.
}
it := c.ListProductSets(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*ProductSearchClient) ListProducts Uses

func (c *ProductSearchClient) ListProducts(ctx context.Context, req *visionpb.ListProductsRequest, opts ...gax.CallOption) *ProductIterator

ListProducts lists products in an unspecified order.

Possible errors:

Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.ListProductsRequest{
    // TODO: Fill request struct fields.
}
it := c.ListProducts(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*ProductSearchClient) ListProductsInProductSet Uses

func (c *ProductSearchClient) ListProductsInProductSet(ctx context.Context, req *visionpb.ListProductsInProductSetRequest, opts ...gax.CallOption) *ProductIterator

ListProductsInProductSet 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.ListProductsInProductSetRequest{
    // TODO: Fill request struct fields.
}
it := c.ListProductsInProductSet(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*ProductSearchClient) ListReferenceImages Uses

func (c *ProductSearchClient) ListReferenceImages(ctx context.Context, req *visionpb.ListReferenceImagesRequest, opts ...gax.CallOption) *ReferenceImageIterator

ListReferenceImages 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.ListReferenceImagesRequest{
    // TODO: Fill request struct fields.
}
it := c.ListReferenceImages(ctx, req)
for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        // TODO: Handle error.
    }
    // TODO: Use resp.
    _ = resp
}

func (*ProductSearchClient) RemoveProductFromProductSet Uses

func (c *ProductSearchClient) RemoveProductFromProductSet(ctx context.Context, req *visionpb.RemoveProductFromProductSetRequest, opts ...gax.CallOption) error

RemoveProductFromProductSet removes a Product from the specified ProductSet.

Possible errors:

Returns NOT_FOUND If the Product is not found under the ProductSet.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.RemoveProductFromProductSetRequest{
    // TODO: Fill request struct fields.
}
err = c.RemoveProductFromProductSet(ctx, req)
if err != nil {
    // TODO: Handle error.
}

func (*ProductSearchClient) UpdateProduct Uses

func (c *ProductSearchClient) UpdateProduct(ctx context.Context, req *visionpb.UpdateProductRequest, opts ...gax.CallOption) (*visionpb.Product, error)

UpdateProduct 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.UpdateProductRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.UpdateProduct(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

func (*ProductSearchClient) UpdateProductSet Uses

func (c *ProductSearchClient) UpdateProductSet(ctx context.Context, req *visionpb.UpdateProductSetRequest, opts ...gax.CallOption) (*visionpb.ProductSet, error)

UpdateProductSet 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.

Code:

ctx := context.Background()
c, err := vision.NewProductSearchClient(ctx)
if err != nil {
    // TODO: Handle error.
}

req := &visionpb.UpdateProductSetRequest{
    // TODO: Fill request struct fields.
}
resp, err := c.UpdateProductSet(ctx, req)
if err != nil {
    // TODO: Handle error.
}
// TODO: Use resp.
_ = resp

type ProductSetIterator Uses

type ProductSetIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*visionpb.ProductSet, nextPageToken string, err error)
    // contains filtered or unexported fields
}

ProductSetIterator manages a stream of *visionpb.ProductSet.

func (*ProductSetIterator) Next Uses

func (it *ProductSetIterator) Next() (*visionpb.ProductSet, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ProductSetIterator) PageInfo Uses

func (it *ProductSetIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

type ReferenceImageIterator Uses

type ReferenceImageIterator struct {

    // InternalFetch is for use by the Google Cloud Libraries only.
    // It is not part of the stable interface of this package.
    //
    // InternalFetch returns results from a single call to the underlying RPC.
    // The number of results is no greater than pageSize.
    // If there are no more results, nextPageToken is empty and err is nil.
    InternalFetch func(pageSize int, pageToken string) (results []*visionpb.ReferenceImage, nextPageToken string, err error)
    // contains filtered or unexported fields
}

ReferenceImageIterator manages a stream of *visionpb.ReferenceImage.

func (*ReferenceImageIterator) Next Uses

func (it *ReferenceImageIterator) Next() (*visionpb.ReferenceImage, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*ReferenceImageIterator) PageInfo Uses

func (it *ReferenceImageIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

Package vision imports 22 packages (graph) and is imported by 5 packages. Updated 2018-12-15. Refresh now. Tools for package owners.