

# Aggiunta di destinazioni a AWS IoT Core per LoRaWAN
<a name="lorawan-create-destinations"></a>

Le destinazioni di AWS IoT Core per LoRaWAN descrivono la regola di AWS IoT che elabora i dati di un dispositivo per l'utilizzo dai servizi AWS.

Poiché la maggior parte dei dispositivi LoRaWAN non invia dati ad AWS IoT Core per LoRaWAN in un formato che può essere usato dai servizi AWS, una regola di AWS IoT deve prima elaborarli. La regola AWS IoT contiene l'istruzione SQL che interpreta i dati del dispositivo e le operazioni della regola dell'argomento che inviano il risultato dell'istruzione SQL ai servizi che la utilizzeranno.

Se stai aggiungendo la destinazione per la prima volta, ti consigliamo di utilizzare la console. 

## Aggiunta di una destinazione tramite la console
<a name="lorawan-create-destination-console"></a>

Se si aggiunge un dispositivo wireless utilizzando la console come descritto in [Aggiungi le specifiche del dispositivo wireless ad AWS IoT Core per LoRaWAN utilizzando la console](lorawan-end-devices-add.md#lorawan-end-device-spec-console), dopo aver già aggiunto le specifiche e i profili del dispositivo wireless ad AWS IoT Core per LoRaWAN come descritto in precedenza, puoi andare avanti e aggiungere una destinazione.

In alternativa, puoi aggiungere anche una destinazione di AWS IoT Core per LoRaWAN dalla pagina [ Destinations (Destinazioni)](https://console.aws.amazon.com/iot/home#/wireless/destinations) della console AWS IoT.

Per elaborare i dati di un dispositivo, specifica i seguenti campi durante la creazione di una destinazione di AWS IoT Core per LoRaWAN, quindi scegli **Add destination (Aggiungi destinazione)**.
+ 

**Dettagli della destinazione**  
Inserisci un **Nome della destinazione** e una descrizione facoltativa per la destinazione.
+ 

**Nome regola**  
La regola AWS IoT configurata per valutare i messaggi inviati dal tuo dispositivo ed elaborare i dati del dispositivo. Il nome della regola verrà mappato alla tua destinazione. La destinazione richiede la regola per elaborare i messaggi ricevuti. È possibile scegliere se elaborare i messaggi richiamando una regola AWS IoT o pubblicando sul broker di messaggi AWS IoT.
  + Se scegli **Ente a rule name (Inserisci il nome di una regola)**, inserisci un nome, e quindi scegli **Copy (Copia)** per copiare il nome di una regola che inserirai quando crei la regola AWS IoT. Puoi scegliere **Create a rule (Crea una regola)** per creare la regola ora o passare all'hub [ Rules (Regole)](https://console.aws.amazon.com/iot/home#/create/rule) della console AWS IoT e creare una regola con quel nome.

    Puoi anche inserire una regola e utilizzare impostazione **Advanced (Avanzata)** per specificare un nome dell'argomento. Il nome dell'argomento viene fornito durante l'invocazione della regola e si accede utilizzando l'espressione `topic` all'interno della regola. Per ulteriori informazioni sulle regole AWS IoT, consulta [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html).
  + Se scegli **Publish to AWS IoT message broker** (Pubblica sul broker di messaggi IoT), inserisci un nome di argomento. È quindi possibile copiare il nome dell'argomento MQTT e più sottoscriventi possono iscriversi a questo argomento per ricevere messaggi pubblicati su tale argomento. Per ulteriori informazioni, consultare [https://docs.aws.amazon.com/iot/latest/developerguide/topics.html](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html).

  Per ulteriori informazioni sulle regole di AWS IoT per le destinazioni, consulta [Creare regole per elaborare i messaggi del dispositivo LoRaWAN](lorawan-destination-rules.md).
+ 

**Nome ruolo**  
Il ruolo IAM che fornisce al dispositivo l'autorizzazione ai dati per accedere alla regola denominata in **Rule name (Nome regola)**. Nella console puoi creare un nuovo ruolo di servizio o selezionare un ruolo di servizio già esistente. Se stai creando un nuovo ruolo di servizio, puoi inserire un nome di ruolo (ad esempio, **IoTWirelessDestinationRole**), o lasciare vuoto per consentire a AWS IoT Core per LoRaWAN di generare un nuovo nome ruolo. AWS IoT Core per LoRaWAN creerà automaticamente il ruolo IAM con le autorizzazioni appropriate per tuo conto.

  Per ulteriori informazioni sui ruoli IAM, consulta [Utilizza ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html).

## Aggiungi una destinazione utilizzando l'API
<a name="lorawan-create-destination-api"></a>

Se invece desideri aggiungere una destinazione utilizzando la CLI, è necessario aver già creato la regola e il ruolo IAM per la destinazione. Per ulteriori informazioni sui dettagli richiesti da una definizione nel ruolo, consulta [Creazione di un ruolo IAM per le destinazioni](#lorawan-create-destinations-roles).

Gli elenchi seguenti descrivono le operazioni API che eseguono le attività associate all'aggiunta, all'aggiornamento o all'eliminazione di una destinazione.

**Operazioni API Wireless AWS IoT per le destinazioni**
+ [CreateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDestination.html)
+ [GetDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDestination.html)
+ [ListDestinations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDestinations.html)
+ [ UpdateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateDestination.html)
+ [DeleteDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteDestination.html)

Per l'elenco completo delle operazioni e dei tipi di dati disponibili per creare e gestire le risorse AWS IoT Core per LoRaWAN, consulta la [documentazione di riferimento delle API Wireless AWS IoT](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)

**Come utilizzare la AWS CLI per aggiungere una destinazione**  
Puoi utilizzare AWS CLI per aggiungere una destinazione utilizzando il comando [create-destination](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-destination.html). L'esempio seguente mostra come creare una destinazione inserendo un nome di regola utilizzando `RuleName` come valore per il parametro `expression-type`. Se desideri specificare il nome di un argomento per la pubblicazione o la sottoscrizione al broker di messaggi, modifica il valore del parametro `expression-type` in `MqttTopic`.

```
aws iotwireless create-destination \
    --name IoTWirelessDestination \
    --expression-type RuleName \
    --expression IoTWirelessRule \
    --role-arn arn:aws:iam::123456789012:role/IoTWirelessDestinationRole
```

L'esecuzione di questo comando crea una destinazione con il nome di destinazione, il nome della regola e il nome del ruolo specificati. Per informazioni sui nomi di regole e ruoli per le destinazioni, consulta [Creare regole per elaborare i messaggi del dispositivo LoRaWAN](lorawan-destination-rules.md) e [Creazione di un ruolo IAM per le destinazioni](#lorawan-create-destinations-roles).

Per informazioni sulle CLI utilizzabili, consulta [Riferimento AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html). 

## Creazione di un ruolo IAM per le destinazioni
<a name="lorawan-create-destinations-roles"></a>

Destinazioni AWS IoT Core per LoRaWAN richiedono ruoli IAM che danno ad AWS IoT Core per LoRaWAN le autorizzazioni necessarie per inviare i dati alla regola AWS IoT. Se tale ruolo non è già definito, è necessario definirlo in modo che venga visualizzato nell'elenco dei ruoli.

Quando utilizzi la console per aggiungere una destinazione, AWS IoT Core per LoRaWAN crea automaticamente un ruolo IAM per te, come descritto in precedenza in questo argomento. Quando aggiungi una destinazione utilizzando l'API o la CLI, devi creare il ruolo IAM per la tua destinazione.

**Per creare una policy IAM per il ruolo di destinazione di AWS IoT Core per LoRaWAN**

1. Apri la pagina [ Policies hub of the IAM console (Hub delle policy nella console IAM)](https://console.aws.amazon.com/iam/home#/policies).

1. Scegli **Create policy (Crea policy)**, quindi scegli la scheda **JSON**.

1. Nell'editor, elimina qualsiasi contenuto dall'editor e incolla il documento relativo alle policy.

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:DescribeEndpoint",
                   "iot:Publish"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Scegli **Review policy (Rivedi la policy)**, e inserisci un nome per questa policy in **Name (Nome)**. Dovrai utilizzare questo nome nella procedura successiva.

   Se necessario, è inoltre possibile descrivere questa policy in **Description (Descrizione)**.

1. Scegli **Crea policy**.

**Per creare un ruolo IAM per una destinazione di AWS IoT Core per LoRaWAN**

1. Apri [ Roles hub of the IAM console (Hub dei ruoli della console IAM)](https://console.aws.amazon.com/iam/home#/roles) e scegli **Create role (Crea ruolo)**.

1. In **Seleziona tipo di entità attendibile**, scegli **Altro Account AWS**.

1. In **Account ID (ID account)**, inserisci il tuo account Account AWS ID, quindi scegli **Next: Permissions (Successivo: autorizzazioni)**.

1. Nella casella di ricerca, inserisci il nome della policy IAM creata nella procedura precedente.

1. Nei risultati della ricerca, controlla la policy IAM creata nella procedura precedente.

1. Scegli **Successivo: Tag**, quindi **Successivo: Rivedi**.

1. In **Role Name (Nome ruolo)**, inserisci il nome di questo ruolo, quindi scegli **Create role (Crea ruolo)**.

1. Nel messaggio di conferma, scegli il nome del ruolo creato per modificare il nuovo ruolo.

1. In **Summary (Riepilogo)**, scegli la finestra **Trust relationships (Relazioni di trust)** e seleziona **Edit trust relationship (Modifica relazione di trust)**.

1. In **Policy Document (Documento policy)**, modifica la proprietà di `Principal` affinché appaia come nell'esempio.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   Dopo aver modificato la proprietà `Principal`, il documento completo di policy dovrebbe essere simile al seguente.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. Per salvare le modifiche, scegli **Update Trust Policy (Aggiorna policy di attendibilità)**.

Puoi trovare questo ruolo definito nell'elenco dei ruoli quando configuri le tue destinazioni AWS IoT Core per LoRaWAN.