Aggiunta di destinazioni a AWS IoT Core per LoRaWAN - Wireless AWS IoT

Aggiunta di destinazioni a AWS IoT Core per LoRaWAN

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

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, 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) 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) 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.

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

    Per ulteriori informazioni sulle regole di AWS IoT per le destinazioni, consulta Creare regole per elaborare i messaggi del dispositivo LoRaWAN.

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

Aggiungi una destinazione utilizzando l'API

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.

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

Operazioni API AWS IoT Wireless per le destinazioni

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 AWS IoT Wireless

Come utilizzare la AWS CLI per aggiungere una destinazione

Puoi utilizzare AWS CLI per aggiungere una destinazione utilizzando il comando create-destination. 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 e Creazione di un ruolo IAM per le destinazioni.

Per informazioni sulle CLI utilizzabili, consulta Riferimento AWS CLI.

Creazione di un ruolo IAM per le destinazioni

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

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

  3. 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": "*" } ] }
  4. 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).

  5. 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) e scegli Create role (Crea ruolo).

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

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

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

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

  6. Scegli Successivo: Tag, quindi Successivo: Rivedi.

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

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

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

  10. 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": {} } ] }
  11. 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.