Class CloudVision.AnnotateImagesFromGcsUri

java.lang.Object
org.apache.beam.sdk.transforms.PTransform<PCollection<String>,PCollection<List<com.google.cloud.vision.v1.AnnotateImageResponse>>>
org.apache.beam.sdk.extensions.ml.CloudVision.AnnotateImagesFromGcsUri
All Implemented Interfaces:
Serializable, HasDisplayData
Enclosing class:
CloudVision

public static class CloudVision.AnnotateImagesFromGcsUri extends PTransform<PCollection<String>,PCollection<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:
  • Field Details

    • contextSideInput

      protected final PCollectionView<Map<String,com.google.cloud.vision.v1.ImageContext>> contextSideInput
    • featureList

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

      protected final int desiredRequestParallelism
  • Constructor Details

    • AnnotateImagesFromGcsUri

      public AnnotateImagesFromGcsUri(PCollectionView<Map<String,com.google.cloud.vision.v1.ImageContext>> contextSideInput, List<com.google.cloud.vision.v1.Feature> featureList, long batchSize, int desiredRequestParallelism)
  • Method Details

    • mapToRequest

      public com.google.cloud.vision.v1.AnnotateImageRequest mapToRequest(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 PCollection<List<com.google.cloud.vision.v1.AnnotateImageResponse>> expand(PCollection<String> 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 PTransform<PCollection<T>,PCollection<List<com.google.cloud.vision.v1.AnnotateImageResponse>>>