Class PubsubLiteReadSchemaTransformProvider.PubsubLiteReadSchemaTransformConfiguration

java.lang.Object
org.apache.beam.sdk.io.gcp.pubsublite.PubsubLiteReadSchemaTransformProvider.PubsubLiteReadSchemaTransformConfiguration
Enclosing class:
PubsubLiteReadSchemaTransformProvider

@DefaultSchema(AutoValueSchema.class) public abstract static class PubsubLiteReadSchemaTransformProvider.PubsubLiteReadSchemaTransformConfiguration extends Object
  • Constructor Details

    • PubsubLiteReadSchemaTransformConfiguration

      public PubsubLiteReadSchemaTransformConfiguration()
  • Method Details

    • validate

      public void validate()
    • getFormat

      @SchemaFieldDescription("The encoding format for the data stored in Pubsub Lite. Valid options are: RAW,AVRO,JSON,PROTO") public abstract String getFormat()
    • getSchema

      @SchemaFieldDescription("The schema in which the data is encoded in the Pubsub Lite topic. For AVRO data, this is a schema defined with AVRO schema syntax (https://avro.apache.org/docs/1.10.2/spec.html#schemas). For JSON data, this is a schema defined with JSON-schema syntax (https://json-schema.org/).") public abstract @Nullable String getSchema()
    • getProject

      @SchemaFieldDescription("The GCP project where the Pubsub Lite reservation resides. This can be a project number of a project ID.") public abstract @Nullable String getProject()
    • getSubscriptionName

      @SchemaFieldDescription("The name of the subscription to consume data. This will be concatenated with the project and location parameters to build a full subscription path.") public abstract String getSubscriptionName()
    • getLocation

      @SchemaFieldDescription("The region or zone where the Pubsub Lite reservation resides.") public abstract String getLocation()
    • getErrorHandling

      @SchemaFieldDescription("This option specifies whether and where to output unwritable rows.") public abstract @Nullable ErrorHandling getErrorHandling()
    • getAttributes

      @SchemaFieldDescription("List of attribute keys whose values will be flattened into the output message as additional fields. For example, if the format is `RAW` and attributes is `[\"a\", \"b\"]` then this read will produce elements of the form `Row(payload=..., a=..., b=...)`") public abstract @Nullable List<String> getAttributes()
    • getAttributeMap

      @SchemaFieldDescription("Name of a field in which to store the full set of attributes associated with this message. For example, if the format is `RAW` and `attribute_map` is set to `\"attrs\"` then this read will produce elements of the form `Row(payload=..., attrs=...)` where `attrs` is a Map type of string to string. If both `attributes` and `attribute_map` are set, the overlapping attribute values will be present in both the flattened structure and the attribute map.") public abstract @Nullable String getAttributeMap()
    • getAttributeId

      @SchemaFieldDescription("The attribute on incoming Pubsub Lite messages to use as a unique record identifier. When specified, the value of this attribute (which can be any string that uniquely identifies the record) will be used for deduplication of messages. If not provided, we cannot guarantee that no duplicate data will be delivered on the Pub/Sub stream. In this case, deduplication of the stream will be strictly best effort.") public abstract @Nullable String getAttributeId()
    • getFileDescriptorPath

      @SchemaFieldDescription("The path to the Protocol Buffer File Descriptor Set file. This file is used for schema definition and message serialization.") public abstract @Nullable String getFileDescriptorPath()
    • getMessageName

      @SchemaFieldDescription("The name of the Protocol Buffer message to be used for schema extraction and data conversion.") public abstract @Nullable String getMessageName()
    • builder