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à.
Utilizzo AWS Lambda con AWS IoT
AWS IoT fornisce una comunicazione sicura tra i dispositivi connessi a Internet (come i sensori) e il cloud. AWS Questo consente raccogliere, archiviare e analizzare i dati di telemetria da più dispositivi.
Puoi creare AWS IoT regole con cui i tuoi dispositivi possono interagire. Servizi AWS Il AWS IoT Rules Engine fornisce un SQL-based linguaggio per selezionare i dati dai payload dei messaggi e inviarli ad altri servizi, come Amazon S3, Amazon DynamoDB e. AWS Lambda Si definisce una regola per richiamare una funzione Lambda quando si desidera richiamare un AWS altro servizio o un servizio di terze parti.
Quando un messaggio IoT in arrivo attiva la regola, AWS IoT richiama 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 AWS IoT evento di messaggio
{ "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 AWS IoT servizio per richiamare la funzione Lambda. Utilizza il comando add-permission per aggiungere un'istruzione di autorizzazione alla policy basata sulle risorse della funzione.
Importante
Se aggiungi un'autorizzazione per un' AWS IoT entità principale senza fornire source-arn osource-account, chiunque Account AWS crei una regola con la tua AWS Lambda azione può attivare regole da cui richiamare la tua AWS Lambda funzione. AWS IoT Per ulteriori informazioni, consulta Autorizzazioni di AWS Lambda.
aws lambda add-permission --function-namemy-function\ --statement-id iot-events --action "lambda:InvokeFunction" --principal iot.amazonaws.com \ --source-arn arn:aws:iot:us-east-1:123456789012:rule/my-rule\ --source-account123456789012
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\",\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:iot:us-east-1:123456789012:rule/my-rule\"},\"StringEquals\":{\"AWS:SourceAccount\":\"123456789012\"}}}" }
Per ulteriori informazioni su come usare Lambda con AWS IoT, vedi Creazione di una AWS Lambda regola.