Push Agent as a subscriber

By default, Push Agent can send data to the cloud. You can edit the Push Agent code to receive data from the cloud.

Data reception function

The function in the following example is called each time a message is received. The function processes the received message according to the logic defined in the function and then updates the
messageVariable
variable value.
private Task SubscribeClientMqttMsgPublishReceived(MqttApplicationMessageReceivedEventArgs e) { var message = e.ApplicationMessage.ConvertPayloadToString(); var messageVariable = Project.Current.GetVariable("Model/Message"); messageVariable.Value = Newtonsoft.Json.Linq.JObject.Parse(message)["Rows"][0]["Variables"][0]["Value"].ToString(); return Task.CompletedTask; }

Subscriber configuration parameter

The following example shows the data reception function that is passed as a configuration parameter of the Subscriber. In addition to the base configuration of the Publisher, the subscriber method is configured in the
Start()
method.
public override void Start() { // PushAgent Default configuration // Add subscriber mqttClientConnector.AddSubscriberAsync("my_custom_subscriber_topic", 1, SubscribeClientMqttMsgPublishReceived); } public async void AddSubscriberAsync(string topic, int qosLevel, Func<MqttApplicationMessageReceivedEventArgs, Task> subscribeClientMqttMsgPublishReceived) { mqttClient.ApplicationMessageReceivedAsync += subscribeClientMqttMsgPublishReceived; await mqttClient.SubscribeAsync(topic, GetQoSLevel(qosLevel)).ConfigureAwait(false); }
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.