Riduzione dei costi di messaggistica con Basic Ingest - AWS IoT Core

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

Riduzione dei costi di messaggistica con Basic Ingest

Puoi utilizzare Basic Ingest per inviare in modo sicuro i dati del dispositivo al Servizi AWS supporto daAWS IoT azioni relative alle regole, senza incorrere in costi di messaggistica. La funzionalità Basic Ingest ottimizza il flusso di dati rimuovendo il broker di messaggistica publish/subscribe dal percorso di inserimento.

Basic Ingest ti permette di inviare messaggi dai tuoi dispositivi o applicazioni. I messaggi hanno nomi di argomenti che iniziano con $aws/rules/rule_name per i primi tre livelli, dove rule_name è il nome della regola AWS IoT che desideri chiamare.

Con Basic Ingest puoi utilizzare una regola esistente semplicemente aggiungendo il prefisso Basic Ingest ($aws/rules/rule_name) all'argomento del messaggio con cui chiami la regola. Ad esempio, se hai una regola denominata BuildingManager che viene chiamata da messaggi con argomenti come Buildings/Building5/Floor2/Room201/Lights ("sql": "SELECT * FROM 'Buildings/#'"), puoi chiamare la stessa regola con Basic Ingest inviando un messaggio con argomento $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights.

Nota:

  • I dispositivi e le regole non possono sottoscrivere gli argomenti Basic Ingest riservati. Per ulteriori informazioni, consulta Argomenti riservati.

  • Se hai bisogno di un broker di pubblicazione/sottoscrizione per distribuire messaggi a più abbonati (ad esempio, per recapitarli ad altri dispositivi e al motore delle regole), dovresti continuare a utilizzare il broker di messaggi per gestire la AWS IoT distribuzione dei messaggi. Pertanto, ti consigliamo di pubblicare i messaggi su argomenti diversi da quelli Basic Ingest.

Utilizzo di Basic Ingest

Prima di utilizzare Basic Ingest, verifica che il tuo dispositivo o la tua applicazione utilizzi una policy con autorizzazioni di pubblicazione su $aws/rules/*. In alternativa, puoi specificare l'autorizzazione per le singole regole nella politica. $aws/rules/rule_name/* In caso contrario, i dispositivi e le applicazioni possono continuare a utilizzare le connessioni esistenti con AWS IoT Core.

Quando il messaggio raggiunge il motore di regole, non sussistono differenze di implementazione o gestione dell'errore tra le regole chiamate da Basic Ingest e quelle chiamate tramite sottoscrizioni al broker di messaggi.

Puoi anche creare regole da utilizzare con Basic Ingest. Ricorda:

  • Il prefisso iniziale di un argomento Basic Ingest ($aws/rules/rule_name) non è disponibile per la funzione topic(Decimal).

  • Se definisci una regola che viene chiamata solo con Basic Ingest, la clausola FROM è facoltativa nel campo sql della definizione rule. È comunque necessaria se la regola viene chiamata anche da altri messaggi che devono essere inviati tramite il broker di messaggi, ad esempio perché gli altri messaggi devono essere distribuiti a più sottoscrittori. Per ulteriori informazioni, consulta AWS IoT Riferimento SQL.

  • I primi tre livelli di argomento Basic Ingest ($aws/rules/rule_name) non vengono conteggiati ai fini del limite di lunghezza di 8 segmenti o del limite totale di 256 caratteri per un argomento. In caso contrario, si applicano le stesse restrizioni, come documentato in Limiti per AWS IoT.

  • Se viene ricevuto un messaggio con un argomento Basic Ingest che specifica una regola inattiva o una regola che non esiste, viene creato un log degli errori in un CloudWatch log Amazon per aiutarti con il debug. Per ulteriori informazioni, consulta Voci di registro del motore delle regole. È indicato un parametro RuleNotFound ed è possibile creare allarmi su questo parametro. Per ulteriori informazioni, consulta Parametri delle regole in Parametri delle regole.

  • È ancora possibile pubblicare con QoS 1 su argomenti Basic Ingest. Riceverai un PUBACK quando il messaggio viene recapitato correttamente al motore di regole. Ricevere un PUBACK non significa che le operazioni della regola siano state completate correttamente. Puoi configurare un'operazione di errore per gestire gli errori durante l'esecuzione dell'operazione. Per ulteriori informazioni, consulta Gestione degli errori (operazione in caso di errore).