Class RecommendationAIImportCatalogItems

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

    public abstract class RecommendationAIImportCatalogItems
    extends org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.KV<java.lang.String,​com.google.api.client.json.GenericJson>>,​org.apache.beam.sdk.values.PCollectionTuple>
    A PTransform connecting to the Recommendations AI API (https://cloud.google.com/recommendations) and creating CatalogItems. *

    Batch size defines how many items are created at once per batch (max: 5000).

    The transform consumes KV of String and GenericJsons (assumed to be the catalog item id as key and contents as value) and outputs a PCollectionTuple which will contain the successfully created and failed catalog items.

    It is possible to provide a catalog name to which you want to add the catalog item (defaults to "default_catalog").

    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static org.apache.beam.sdk.values.TupleTag<com.google.cloud.recommendationengine.v1beta1.CatalogItem> FAILURE_TAG  
      static org.apache.beam.sdk.values.TupleTag<com.google.cloud.recommendationengine.v1beta1.CatalogItem> SUCCESS_TAG  
      • Fields inherited from class org.apache.beam.sdk.transforms.PTransform

        annotations, displayData, name, resourceHints
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract int batchSize()
      Returns size of input elements batch to be sent in one request.
      abstract @Nullable java.lang.String catalogName()
      Returns name of the catalog where the catalog items will be created.
      org.apache.beam.sdk.values.PCollectionTuple expand​(org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.KV<java.lang.String,​com.google.api.client.json.GenericJson>> input)
      The transform converts the contents of input PCollection into CatalogItems and then calls the Recommendation AI service to create the catalog item.
      abstract org.joda.time.Duration maxBufferingDuration()
      Returns time limit (in processing time) on how long an incomplete batch of elements is allowed to be buffered.
      abstract @Nullable java.lang.String projectId()
      Returns ID of Google Cloud project to be used for creating catalog items.
      RecommendationAIImportCatalogItems withBatchSize​(int batchSize)  
      RecommendationAIImportCatalogItems withCatalogName​(java.lang.String catalogName)  
      RecommendationAIImportCatalogItems withProjectId​(java.lang.String projectId)  
      • 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

      • SUCCESS_TAG

        public static final org.apache.beam.sdk.values.TupleTag<com.google.cloud.recommendationengine.v1beta1.CatalogItem> SUCCESS_TAG
      • FAILURE_TAG

        public static final org.apache.beam.sdk.values.TupleTag<com.google.cloud.recommendationengine.v1beta1.CatalogItem> FAILURE_TAG
    • Constructor Detail

      • RecommendationAIImportCatalogItems

        public RecommendationAIImportCatalogItems()
    • Method Detail

      • projectId

        public abstract @Nullable java.lang.String projectId()
        Returns ID of Google Cloud project to be used for creating catalog items.
      • catalogName

        public abstract @Nullable java.lang.String catalogName()
        Returns name of the catalog where the catalog items will be created.
      • batchSize

        public abstract int batchSize()
        Returns size of input elements batch to be sent in one request.
      • maxBufferingDuration

        public abstract org.joda.time.Duration maxBufferingDuration()
        Returns time limit (in processing time) on how long an incomplete batch of elements is allowed to be buffered.
      • expand

        public org.apache.beam.sdk.values.PCollectionTuple expand​(org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.KV<java.lang.String,​com.google.api.client.json.GenericJson>> input)
        The transform converts the contents of input PCollection into CatalogItems and then calls the Recommendation AI service to create the catalog item.
        Specified by:
        expand in class org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.KV<java.lang.String,​com.google.api.client.json.GenericJson>>,​org.apache.beam.sdk.values.PCollectionTuple>
        Parameters:
        input - input PCollection
        Returns:
        PCollection after transformations