Push Agent como suscriptor
De forma predeterminada, Push Agent puede enviar datos a la nube. Puede editar el código de Push Agent para recibir datos de la nube.
Función de recepción de datos
La función del siguiente ejemplo se invoca cada vez que se recibe un mensaje. La función procesa el mensaje recibido según la lógica definida en la función y, a continuación, actualiza el valor de la variable
messageVariable
.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; }
Parámetro de configuración del suscriptor
El siguiente ejemplo muestra la función de recepción de datos que se pasa como parámetro de configuración del Suscriptor. Además de la configuración base del Publicador, el método del suscriptor se configura en el método
Start()
.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); }
Entregue su opinión