Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Modelli di sostituzione
È possibile utilizzare un modello sostitutivo per aumentare i JSON dati restituiti quando una regola viene attivata ed esegue un'azione. AWS IoT La sintassi per un modello sostitutivo è ${
expression}
, dove espressione può essere qualsiasi espressione supportata da AWS IoT clausole in, clausole e. SELECT WHERE AWS IoT azioni relative alle regole Questa espressione può essere inserita in un campo dell’operazione di una regola, consentendo di configurare dinamicamente un'operazione. In effetti, questa funzione sostituisce un'informazione in un'operazione. Questo include funzioni, operatori e informazioni presenti nel payload del messaggio originale.
Importante
Poiché un'espressione in un modello sostitutivo viene valutata separatamente dall'istruzione "SELECT...», non è possibile fare riferimento a un alias creato utilizzando la clausola AS. È possibile fare riferimento solo alle informazioni presenti nel payload originale, oltre alle funzioni e agli operatori.
Per ulteriori informazioni sulle espressioni supportate, consulta Riferimento AWS IoT SQL .
Le seguenti operazioni delle regole supportano i modelli di sostituzione. Ogni operazione supporta campi diversi che possono essere sostituiti.
I modelli di sostituzione vengono visualizzati nei parametri di azione all'interno di una regola:
{ "sql": "SELECT *, timestamp() AS timestamp FROM 'my/iot/topic'", "ruleDisabled": false, "actions": [{ "republish": { "topic": "${topic()}/republish", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }
Se questa regola viene attivata da quanto segue pubblicato su: JSON my/iot/topic
{ "deviceid": "iot123", "temp": 54.98, "humidity": 32.43, "coords": { "latitude": 47.615694, "longitude": -122.3359976 } }
Quindi questa regola pubblica quanto segue sumy/iot/topic/republish
, JSON che AWS IoT sostituisce da: ${topic()}/republish
{ "deviceid": "iot123", "temp": 54.98, "humidity": 32.43, "coords": { "latitude": 47.615694, "longitude": -122.3359976 }, "timestamp": 1579637878451 }