Class PubsubLiteIO
- java.lang.Object
-
- org.apache.beam.sdk.io.gcp.pubsublite.PubsubLiteIO
-
public final class PubsubLiteIO extends java.lang.ObjectI/O transforms for reading from Google Pub/Sub Lite.For the differences between this and Google Pub/Sub, please refer to the product documentation.
Updates to the I/O connector code
For any significant updates to this I/O connector, please consider involving corresponding code reviewers mentioned here.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.PubSubMessage>,org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.PubSubMessage>>addUuids()Add Uuids to to-be-published messages that ensures that uniqueness is maintained.static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.SequencedMessage>,org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.SequencedMessage>>deduplicate(UuidDeduplicationOptions options)Remove duplicates from the PTransform from a read.static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PBegin,org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.SequencedMessage>>read(SubscriberOptions options)Read messages from Pub/Sub Lite.static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.PubSubMessage>,org.apache.beam.sdk.values.PDone>write(PublisherOptions options)Write messages to Pub/Sub Lite.
-
-
-
Method Detail
-
read
public static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PBegin,org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.SequencedMessage>> read(SubscriberOptions options)
Read messages from Pub/Sub Lite. These messages may contain duplicates if the publisher retried, which the PubsubLiteIO write method will do. Use the dedupe transform to remove these duplicates.Note that this will not pick up newly added partitions. To pick up new partitions, drain and restart the pipeline.
Pipeline p = ...; SubscriptionPath subscriptionPath = SubscriptionPath.newBuilder() .setLocation(zone) .setProjectNumber(projectNum) .setName(subscriptionName) .build(); PCollection<SequencedMessage> messages = p.apply(PubsubLiteIO.read(SubscriberOptions.newBuilder() .setSubscriptionPath(subscriptionPath) .build()), "read");
-
deduplicate
public static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.SequencedMessage>,org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.SequencedMessage>> deduplicate(UuidDeduplicationOptions options)
Remove duplicates from the PTransform from a read. Assumes by default that the uuids were added by a call to PubsubLiteIO.addUuids() when published.PCollection<SequencedMessage> messages = ... (above) ...; messages = messages.apply(PubsubLiteIO.deduplicate( UuidDeduplicationOptions.newBuilder().build()));
-
addUuids
public static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.PubSubMessage>,org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.PubSubMessage>> addUuids()
Add Uuids to to-be-published messages that ensures that uniqueness is maintained.PCollection<Message> messages = ...; messages = messages.apply(PubsubLiteIO.addUuids());
-
write
public static org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollection<com.google.cloud.pubsublite.proto.PubSubMessage>,org.apache.beam.sdk.values.PDone> write(PublisherOptions options)
Write messages to Pub/Sub Lite.TopicPath topicPath = TopicPath.newBuilder() .setProjectNumber(projectNum) .setLocation(zone) .setName(topicName) .build(); PCollection<Message> messages = ...; messages.apply(PubsubLiteIO.write( PublisherOptions.newBuilder().setTopicPath(topicPath).build());
-
-