Class PubsubLiteWriteSchemaTransformProvider.PubsubLiteWriteSchemaTransformConfiguration

java.lang.Object
org.apache.beam.sdk.io.gcp.pubsublite.PubsubLiteWriteSchemaTransformProvider.PubsubLiteWriteSchemaTransformConfiguration
Enclosing class:
PubsubLiteWriteSchemaTransformProvider

@DefaultSchema(AutoValueSchema.class) public abstract static class PubsubLiteWriteSchemaTransformProvider.PubsubLiteWriteSchemaTransformConfiguration extends Object
  • Constructor Details

    • PubsubLiteWriteSchemaTransformConfiguration

      public PubsubLiteWriteSchemaTransformConfiguration()
  • Method Details

    • validate

      public void validate()
    • getProject

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

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

      @SchemaFieldDescription("The name of the topic to publish data into. This will be concatenated with the project and location parameters to build a full topic path.") public abstract String getTopicName()
    • getFormat

      @SchemaFieldDescription("The encoding format for the data stored in Pubsub Lite. Valid options are: RAW,JSON,AVRO,PROTO") public abstract String getFormat()
    • 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 pulled out as Pubsub Lite message attributes. For example, if the format is `JSON` and attributes is `[\"a\", \"b\"]` then elements of the form `Row(any_field=..., a=..., b=...)` will result in Pubsub Lite messages whose payload has the contents of any_field and whose attribute will be populated with the values of `a` and `b`.") public abstract @Nullable List<String> getAttributes()
    • getAttributeId

      @SchemaFieldDescription("If set, will set an attribute for each Pubsub Lite message with the given name and a unique value. This attribute can then be used in a ReadFromPubSubLite PTransform to deduplicate messages.") 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()
    • getSchema

      public abstract @Nullable String getSchema()
    • builder