@DefaultSchema(value=AutoValueSchema.class) public abstract class PubsubReadSchemaTransformConfiguration extends java.lang.Object
Internal only: This class is actively being worked on, and it will likely change. We provide no backwards compatibility guarantees, and it should not be implemented outside the Beam repository.
| Modifier and Type | Class and Description |
|---|---|
static class |
PubsubReadSchemaTransformConfiguration.Builder |
static class |
PubsubReadSchemaTransformConfiguration.ErrorHandling |
| Constructor and Description |
|---|
PubsubReadSchemaTransformConfiguration() |
| Modifier and Type | Method and Description |
|---|---|
static PubsubReadSchemaTransformConfiguration.Builder |
builder() |
abstract java.util.List<java.lang.String> |
getAttributes() |
abstract java.lang.String |
getAttributesMap() |
abstract PubsubTestClient.PubsubTestClientFactory |
getClientFactory() |
abstract com.google.api.client.util.Clock |
getClock() |
abstract PubsubReadSchemaTransformConfiguration.ErrorHandling |
getErrorHandling() |
abstract java.lang.String |
getFormat() |
abstract java.lang.String |
getIdAttribute() |
abstract java.lang.String |
getSchema() |
abstract java.lang.String |
getSubscription() |
abstract java.lang.String |
getTimestampAttribute() |
abstract java.lang.String |
getTopic() |
public PubsubReadSchemaTransformConfiguration()
@SchemaFieldDescription(value="The name of the topic to consume data from. If a topic is specified, will create a new subscription for that topic and start consuming from that point. Either a topic or a subscription must be provided. Format: projects/${PROJECT}/topics/${TOPIC}") @Nullable public abstract java.lang.String getTopic()
@SchemaFieldDescription(value="The name of the subscription to consume data. Either a topic or subscription must be provided. Format: projects/${PROJECT}/subscriptions/${SUBSCRIPTION}") @Nullable public abstract java.lang.String getSubscription()
@SchemaFieldDescription(value="The encoding format for the data stored in Pubsub. Valid options are: RAW,AVRO,JSON") public abstract java.lang.String getFormat()
@SchemaFieldDescription(value="The schema in which the data is encoded in the Pubsub 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 java.lang.String getSchema()
@SchemaFieldDescription(value="Any additional pubsub attributes that should be populated as String fields in the ouptut rows.") @Nullable public abstract java.util.List<java.lang.String> getAttributes()
@SchemaFieldDescription(value="Any additional field that should be populated with the full set of PubSub attributes.") @Nullable public abstract java.lang.String getAttributesMap()
@SchemaFieldDescription(value="When reading from Cloud Pub/Sub where unique record identifiers are provided as Pub/Sub message attributes, specifies the name of the attribute containing the unique identifier. The value of the attribute can be any string that uniquely identifies this record. Pub/Sub cannot guarantee that no duplicate data will be delivered on the Pub/Sub stream. If idAttribute is not provided, Beam cannot guarantee that no duplicate data will be delivered, and deduplication of the stream will be strictly best effort.") @Nullable public abstract java.lang.String getIdAttribute()
@SchemaFieldDescription(value="Specifies the name of the attribute that contains the timestamp, if any. The timestamp value is expected to be represented in the attribute as either (1) a numerical value representing the number of milliseconds since the Unix epoch. For example, if using the Joda time classes, Instant.getMillis() returns the correct value for this attribute. or (2) a String in RFC 3339 format. For example, 2015-10-29T23:41:41.123Z. The sub-second component of the timestamp is optional, and digits beyond the first three (i.e., time units smaller than milliseconds) will be ignored.") @Nullable public abstract java.lang.String getTimestampAttribute()
@SchemaFieldDescription(value="Specifies how to handle errors.") @Nullable public abstract PubsubReadSchemaTransformConfiguration.ErrorHandling getErrorHandling()
@Nullable public abstract PubsubTestClient.PubsubTestClientFactory getClientFactory()
@Nullable public abstract com.google.api.client.util.Clock getClock()
public static PubsubReadSchemaTransformConfiguration.Builder builder()