Uso di AWS Lambda con AWS IoT - AWS Lambda

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à.

Uso di AWS Lambda con AWS IoT

AWS IoT fornisce una comunicazione sicura tra i dispositivi connessi a Internet (come i sensori) e AWS Cloud. Questo consente raccogliere, archiviare e analizzare i dati di telemetria da più dispositivi.

È possibile creare regole AWS IoT affinché i dispositivi interagiscano con i Servizi AWS. AWS IoT Rules Engine fornisce un linguaggio basato su SQL, per selezionare i dati dai payload dei messaggi e inviare i dati ad altri servizi, ad esempio Amazon S3, Amazon DynamoDB e AWS Lambda. Si definisce una regola per richiamare una funzione Lambda quando si desidera richiamare un altro servizio AWS o un servizio di terze parti.

Quando un messaggio IoT in ingresso attiva la regola, AWS IoTrichiama la funzione Lambda in modo asincrono e passa i dati dal messaggio IoT alla funzione.

L'esempio seguente mostra una lettura dell'umidità da un sensore serra. I valori di riga e pos identificano la posizione del sensore. Questo evento di esempio si basa sul tipo serra in Tutorial sulle regole AWS IoT.

Esempio Evento messaggio di AWS IoT
{ "row" : "10", "pos" : "23", "moisture" : "75" }

Per le chiamate asincrone, Lambda inserisce in una coda i messaggi e i tentativi se la funzione restituisce un errore. Configura la tua funzione con una destination per mantenere gli eventi che la tua funzione non è in grado di elaborare.

È necessario concedere l'autorizzazione al servizio AWS IoT per richiamare la funzione Lambda. Utilizza il comando add-permission per aggiungere un'istruzione di autorizzazione alla policy basata sulle risorse della funzione.

aws lambda add-permission --function-name my-function \ --statement-id iot-events --action "lambda:InvokeFunction" --principal iot.amazonaws.com

Verrà visualizzato l'output seguente:

{ "Statement": "{\"Sid\":\"iot-events\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"iot.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-1:123456789012:function:my-function\"}" }

Per ulteriori informazioni su come utilizzare Lambda con AWS IoT, consulta Creazione di una regola AWS Lambda.