2016-06-02 15 views
0

Im Tutorial der Regel-Engine, sie sagen, es ist möglich zu sagen, dass jedes Mal, wenn wir eine Nachricht erhalten, die "blau" als die gewünschte Farbe der Glühbirne der Regel-Engine es verwandelt zu "grün"Ändern empfangene Nachricht in AWS IoT und erneut veröffentlichen

Um dies zu tun, dachte ich über das Erstellen einer Regel, die die Nachricht zum Thema shadow/update veröffentlicht, aber ich konnte keine Möglichkeit finden, die Nachricht vor der erneuten Veröffentlichung zu ändern.

Gibt es einen Weg, es in der AWS-Konsole zu tun?

Antwort

1

Sie benötigen eine IoT Regel zu erstellen, um die Nachricht repbuish wie Sie grundlegende String-Manipulation angeben, kann der SQL-ähnliche Syntax für, so könnten Sie versuchen:

{ 
    "sql": "SELECT replace(color, 'blue', 'green') as color FROM '$aws/things/mything/shadow/update' WHERE color = 'blue'", 
    "ruleDisabled": false, 
    "actions": [{ 
     "republish": { 
      "topic": "$aws/things/mything/shadow/update", 
      "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" 
     } 
    }] 
} 

Sie können die einstellen müssen, um Variablen Wenn die Farbe eine Eigenschaft des gemeldeten Status ist, können Sie alle Instanzen von 'Farbe' in 'gemeldete.Farbe' ändern.

Die AWS IoT SQL reference hat weitere Beispiele.