Push-Agent als Abonnent
Standardmäßig kann der Push-Agent Daten an die Cloud senden. Um Daten aus der Cloud zu empfangen, können Sie den Push-Agent-Code bearbeiten.
Funktion für den Datenempfang
Die Funktion im folgenden Beispiel wird jedes Mal aufgerufen, wenn eine Meldung empfangen wird. Die Funktion verarbeitet die empfangene Meldung gemäß der in der Funktion definierten Logik und aktualisiert anschließend den Variablenwert
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; }
Abonnenten-Konfigurationsparameter
Das folgende Beispiel zeigt die Funktion für den Datenempfang, die als Konfigurationsparameter des Abonnenten übergeben wird. Zusätzlich zur Grundkonfiguration des Veröffentlichers wird in der Methode
Start()
die Abonnenten-Methode konfiguriert.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); }
Rückmeldung geben