Class MqttIO.Write<InputT>

java.lang.Object
org.apache.beam.sdk.transforms.PTransform<PCollection<InputT>,PDone>
org.apache.beam.sdk.io.mqtt.MqttIO.Write<InputT>
All Implemented Interfaces:
Serializable, HasDisplayData
Enclosing class:
MqttIO

public abstract static class MqttIO.Write<InputT> extends PTransform<PCollection<InputT>,PDone>
A PTransform to write and send a message to a MQTT server.
See Also:
  • Constructor Details

    • Write

      public Write()
  • Method Details

    • withConnectionConfiguration

      public MqttIO.Write<InputT> withConnectionConfiguration(MqttIO.ConnectionConfiguration configuration)
      Define MQTT connection configuration used to connect to the MQTT broker.
    • withTopicFn

      public MqttIO.Write<InputT> withTopicFn(SerializableFunction<InputT,String> topicFn)
    • withPayloadFn

      public MqttIO.Write<InputT> withPayloadFn(SerializableFunction<InputT,byte[]> payloadFn)
    • withRetained

      public MqttIO.Write<InputT> withRetained(boolean retained)
      Whether or not the publish message should be retained by the messaging engine. Sending a message with the retained set to false will clear the retained message from the server. The default value is false. When a subscriber connects, it gets the latest retained message (else it doesn't get any existing message, it will have to wait a new incoming message).
      Parameters:
      retained - Whether or not the messaging engine should retain the message.
      Returns:
      The MqttIO.Write PTransform with the corresponding retained configuration.
    • populateDisplayData

      public void populateDisplayData(DisplayData.Builder builder)
      Description copied from class: PTransform
      Register display data for the given transform or component.

      populateDisplayData(DisplayData.Builder) is invoked by Pipeline runners to collect display data via DisplayData.from(HasDisplayData). Implementations may call super.populateDisplayData(builder) in order to register display data in the current namespace, but should otherwise use subcomponent.populateDisplayData(builder) to use the namespace of the subcomponent.

      By default, does not register any display data. Implementors may override this method to provide their own display data.

      Specified by:
      populateDisplayData in interface HasDisplayData
      Overrides:
      populateDisplayData in class PTransform<PCollection<InputT>,PDone>
      Parameters:
      builder - The builder to populate with display data.
      See Also:
    • expand

      public PDone expand(PCollection<InputT> input)
      Description copied from class: PTransform
      Override this method to specify how this PTransform should be expanded on the given InputT.

      NOTE: This method should not be called directly. Instead apply the PTransform should be applied to the InputT using the apply method.

      Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).

      Specified by:
      expand in class PTransform<PCollection<InputT>,PDone>