@Internal
@Experimental
public abstract class PubsubMessageToRow
extends org.apache.beam.sdk.transforms.DoFn<org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage,org.apache.beam.sdk.values.Row>
DoFn to convert PubsubMessage with JSON payload to Row.org.apache.beam.sdk.transforms.DoFn.BoundedPerElement, org.apache.beam.sdk.transforms.DoFn.BundleFinalizer, org.apache.beam.sdk.transforms.DoFn.Element, org.apache.beam.sdk.transforms.DoFn.FieldAccess, org.apache.beam.sdk.transforms.DoFn.FinishBundle, org.apache.beam.sdk.transforms.DoFn.FinishBundleContext, org.apache.beam.sdk.transforms.DoFn.GetInitialRestriction, org.apache.beam.sdk.transforms.DoFn.GetRestrictionCoder, org.apache.beam.sdk.transforms.DoFn.MultiOutputReceiver, org.apache.beam.sdk.transforms.DoFn.NewTracker, org.apache.beam.sdk.transforms.DoFn.OnTimer, org.apache.beam.sdk.transforms.DoFn.OnTimerContext, org.apache.beam.sdk.transforms.DoFn.OnWindowExpiration, org.apache.beam.sdk.transforms.DoFn.OutputReceiver<T>, org.apache.beam.sdk.transforms.DoFn.ProcessContext, org.apache.beam.sdk.transforms.DoFn.ProcessContinuation, org.apache.beam.sdk.transforms.DoFn.ProcessElement, org.apache.beam.sdk.transforms.DoFn.RequiresStableInput, org.apache.beam.sdk.transforms.DoFn.Setup, org.apache.beam.sdk.transforms.DoFn.SplitRestriction, org.apache.beam.sdk.transforms.DoFn.StartBundle, org.apache.beam.sdk.transforms.DoFn.StartBundleContext, org.apache.beam.sdk.transforms.DoFn.StateId, org.apache.beam.sdk.transforms.DoFn.Teardown, org.apache.beam.sdk.transforms.DoFn.TimerId, org.apache.beam.sdk.transforms.DoFn.Timestamp, org.apache.beam.sdk.transforms.DoFn.UnboundedPerElement, org.apache.beam.sdk.transforms.DoFn.WindowedContext| Constructor and Description |
|---|
PubsubMessageToRow() |
| Modifier and Type | Method and Description |
|---|---|
static org.apache.beam.sdk.extensions.sql.meta.provider.pubsub.PubsubMessageToRow.Builder |
builder() |
abstract org.apache.beam.sdk.schemas.Schema |
messageSchema()
Schema of the Pubsub message.
|
void |
processElement(org.apache.beam.sdk.transforms.DoFn.ProcessContext context) |
abstract boolean |
useDlq() |
public abstract org.apache.beam.sdk.schemas.Schema messageSchema()
Required to have exactly 3 top level fields at the moment:
Schema.FieldType#DATETIME
MAP<VARCHAR,VARCHAR>
ROW<...>
Only UTF-8 JSON objects are supported.
public abstract boolean useDlq()
public static org.apache.beam.sdk.extensions.sql.meta.provider.pubsub.PubsubMessageToRow.Builder builder()
@DoFn.ProcessElement public void processElement(org.apache.beam.sdk.transforms.DoFn.ProcessContext context)