

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
<a name="services-iot"></a>

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](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) 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](invocation-async.md) 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](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules-tutorial.html). 

**Example AWS IoTEvento messaggio di**  

```
{
    "row" : "10",
    "pos" : "23",
    "moisture" : "75"
}
```

Per le chiamate asincrone, Lambda inserisce in una coda i messaggi e i [tentativi](invocation-retries.md) se la funzione restituisce un errore. Configura la tua funzione con una [destination](invocation-async-retain-records.md#invocation-async-destinations) 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](https://docs.aws.amazon.com/iot/latest/developerguide/iot-lambda-rule.html). 