Class CloudVision.AnnotateImagesFromGcsUri

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.beam.sdk.transforms.display.HasDisplayData
    Enclosing class:
    CloudVision

    public static class CloudVision.AnnotateImagesFromGcsUri
    extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<T>,​org.apache.beam.sdk.values.PCollection<java.util.List<com.google.cloud.vision.v1.AnnotateImageResponse>>>
    Accepts String (image URI on GCS) with optional DoFn.SideInput with a Map of ImageContext to the image.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.beam.sdk.values.PCollectionView<java.util.Map<T,​com.google.cloud.vision.v1.ImageContext>> contextSideInput  
      protected int desiredRequestParallelism  
      protected java.util.List<com.google.cloud.vision.v1.Feature> featureList  
      • Fields inherited from class org.apache.beam.sdk.transforms.PTransform

        annotations, displayData, name, resourceHints
    • Constructor Summary

      Constructors 
      Constructor Description
      AnnotateImagesFromGcsUri​(org.apache.beam.sdk.values.PCollectionView<java.util.Map<java.lang.String,​com.google.cloud.vision.v1.ImageContext>> contextSideInput, java.util.List<com.google.cloud.vision.v1.Feature> featureList, long batchSize, int desiredRequestParallelism)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.beam.sdk.values.PCollection<java.util.List<com.google.cloud.vision.v1.AnnotateImageResponse>> expand​(org.apache.beam.sdk.values.PCollection<T> input)
      Applies all necessary transforms to call the Vision API.
      com.google.cloud.vision.v1.AnnotateImageRequest mapToRequest​(java.lang.String uri, @Nullable com.google.cloud.vision.v1.ImageContext ctx)
      Maps the String with encoded image data and the optional ImageContext into an AnnotateImageRequest.
      • Methods inherited from class org.apache.beam.sdk.transforms.PTransform

        addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, populateDisplayData, setDisplayData, setResourceHints, toString, validate, validate
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • contextSideInput

        protected final org.apache.beam.sdk.values.PCollectionView<java.util.Map<T,​com.google.cloud.vision.v1.ImageContext>> contextSideInput
      • featureList

        protected final java.util.List<com.google.cloud.vision.v1.Feature> featureList
      • desiredRequestParallelism

        protected final int desiredRequestParallelism
    • Constructor Detail

      • AnnotateImagesFromGcsUri

        public AnnotateImagesFromGcsUri​(org.apache.beam.sdk.values.PCollectionView<java.util.Map<java.lang.String,​com.google.cloud.vision.v1.ImageContext>> contextSideInput,
                                        java.util.List<com.google.cloud.vision.v1.Feature> featureList,
                                        long batchSize,
                                        int desiredRequestParallelism)
    • Method Detail

      • mapToRequest

        public com.google.cloud.vision.v1.AnnotateImageRequest mapToRequest​(java.lang.String uri,
                                                                            @Nullable com.google.cloud.vision.v1.ImageContext ctx)
        Maps the String with encoded image data and the optional ImageContext into an AnnotateImageRequest.
        Parameters:
        uri - Input element.
        ctx - optional image context.
        Returns:
        a valid request.
      • expand

        public org.apache.beam.sdk.values.PCollection<java.util.List<com.google.cloud.vision.v1.AnnotateImageResponse>> expand​(org.apache.beam.sdk.values.PCollection<T> input)
        Applies all necessary transforms to call the Vision API. In order to group requests into batches, we assign keys to the requests, as GroupIntoBatches works only on KVs.
        Specified by:
        expand in class org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<T>,​org.apache.beam.sdk.values.PCollection<java.util.List<com.google.cloud.vision.v1.AnnotateImageResponse>>>