View a markdown version of this page

Router con abbonamento legacy - AWS IoT Greengrass

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

Router con abbonamento legacy

Il router di abbonamento legacy (aws.greengrass.LegacySubscriptionRouter) gestisce gli abbonamenti sul dispositivo principale Greengrass. Gli abbonamenti sono una funzionalità della AWS IoT Greengrass V1 che definisce gli argomenti che le funzioni Lambda possono utilizzare per la messaggistica MQTT su un dispositivo principale. Per ulteriori informazioni, consulta Abbonamenti gestiti nel flusso di lavoro di messaggistica MQTT nella V1 Developer Guide. AWS IoT Greengrass

È possibile utilizzare questo componente per abilitare gli abbonamenti per i componenti del connettore e i componenti delle funzioni Lambda che utilizzano il Core SDK. AWS IoT Greengrass

Nota

Il componente router in abbonamento legacy è richiesto solo se la funzione Lambda utilizza la publish() funzione nel Core SDK. AWS IoT Greengrass Se aggiorni il codice della funzione Lambda per utilizzare l'interfaccia IPC (Interprocess Communication) nella SDK per dispositivi AWS IoT V2, non è necessario distribuire il componente legacy del router in abbonamento. Per ulteriori informazioni, consulta i seguenti servizi di comunicazione tra processi: SDK per dispositivi AWS IoT Utilizzatelo per comunicare con il nucleo Greengrass, gli altri componenti e AWS IoT Core

Versioni

Questo componente ha le seguenti versioni:

  • 2.1.x

  • 2.0.x

Tipo

Questo componente è un componente generico (aws.greengrass.generic). Il nucleo di Greengrass esegue gli script del ciclo di vita del componente.

Per ulteriori informazioni, consulta Tipi di componenti.

Sistema operativo

Questo componente può essere installato solo su dispositivi Linux core.

Requisiti

Questo componente ha i seguenti requisiti:

  • Il router in abbonamento legacy è supportato per l'esecuzione in un VPC.

Dipendenze

Quando distribuisci un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle sue dipendenze. Ciò significa che è necessario soddisfare i requisiti del componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli semantici della versione che definiscono le versioni dei componenti per ciascuna dipendenza. È inoltre possibile visualizzare le dipendenze per ciascuna versione del componente nella console. AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

2.1.15

La tabella seguente elenca le dipendenze per la versione 2.1.15 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.17.0 Flessibili
2.1.14

La tabella seguente elenca le dipendenze per la versione 2.1.14 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.16.0 Flessibili
2.1.13

La tabella seguente elenca le dipendenze per la versione 2.1.13 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.15.0 Flessibili
2.1.12

La tabella seguente elenca le dipendenze per la versione 2.1.12 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.14.0 Flessibili
2.1.11

La tabella seguente elenca le dipendenze per la versione 2.1.11 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.13.0 Flessibili
2.1.10

La tabella seguente elenca le dipendenze per la versione 2.1.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.12.0 Flessibili
2.1.9

La tabella seguente elenca le dipendenze per la versione 2.1.9 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.11.0 Flessibili
2.1.8

La tabella seguente elenca le dipendenze per la versione 2.1.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.10.0 Flessibili
2.1.7

La tabella seguente elenca le dipendenze per la versione 2.1.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.9.0 Flessibili
2.1.6

La tabella seguente elenca le dipendenze per la versione 2.1.6 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.8.0 Flessibili
2.1.5

La tabella seguente elenca le dipendenze per la versione 2.1.5 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.7.0 Flessibili
2.1.4

La tabella seguente elenca le dipendenze per la versione 2.1.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.6.0 Flessibili
2.1.3

La tabella seguente elenca le dipendenze per la versione 2.1.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.5.0 Flessibili
2.1.2

La tabella seguente elenca le dipendenze per la versione 2.1.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.4.0 Flessibili
2.1.1

La tabella seguente elenca le dipendenze per la versione 2.1.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.3.0 Flessibili
2.1.0

La tabella seguente elenca le dipendenze per la versione 2.1.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.2.0 Flessibili
2.0.3

La tabella seguente elenca le dipendenze per la versione 2.0.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.3 <2.1.0 Flessibili

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti. ComponentDependencies

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

v2.1.x
subscriptions

(Facoltativo) Le sottoscrizioni da abilitare sul dispositivo principale. Si tratta di un oggetto, in cui ogni chiave è un ID univoco e ogni valore è un oggetto che definisce la sottoscrizione per quel connettore. È necessario configurare un abbonamento quando si distribuisce un componente del connettore V1 o una funzione Lambda che utilizza il AWS IoT Greengrass Core SDK.

Ogni oggetto di sottoscrizione contiene le seguenti informazioni:

id

L'ID univoco di questo abbonamento. Questo ID deve corrispondere alla chiave per questo oggetto di sottoscrizione.

source

La funzione Lambda che utilizza il AWS IoT Greengrass Core SDK per pubblicare messaggi MQTT sugli argomenti specificati in. subject Specifica una delle seguenti proprietà:

  • Il nome di un componente della funzione Lambda sul dispositivo principale. Specifica il nome del componente con il component: prefisso, ad esempio. component:com.example.HelloWorldLambda

  • L'Amazon Resource Name (ARN) di una funzione Lambda sul dispositivo principale.

    Importante

    Se la versione della funzione Lambda cambia, devi configurare l'abbonamento con la nuova versione della funzione. Altrimenti, questo componente non indirizzerà i messaggi finché la versione non corrisponde all'abbonamento.

    Devi specificare un Amazon Resource Name (ARN) che includa la versione della funzione da importare. Non è possibile utilizzare alias di versione come $LATEST.

Per distribuire un abbonamento per un componente del connettore V1, specifica il nome del componente o l'ARN della funzione Lambda del componente del connettore.

subject

L'argomento o il filtro tematico MQTT in base al quale l'origine e la destinazione possono pubblicare e ricevere messaggi. Questo valore supporta i caratteri jolly + e # topic.

target

La destinazione che riceve i messaggi MQTT sugli argomenti specificati in. subject L'abbonamento specifica che la source funzione pubblica messaggi MQTT su AWS IoT Core o su una funzione Lambda sul dispositivo principale. Specifica una delle seguenti proprietà:

  • cloud. La source funzione pubblica messaggi MQTT su. AWS IoT Core

  • Il nome di un componente della funzione Lambda sul dispositivo principale. Specifica il nome del componente con il component: prefisso, ad esempio. component:com.example.HelloWorldLambda

  • L'Amazon Resource Name (ARN) di una funzione Lambda sul dispositivo principale.

    Importante

    Se la versione della funzione Lambda cambia, devi configurare l'abbonamento con la nuova versione della funzione. Altrimenti, questo componente non indirizzerà i messaggi finché la versione non corrisponde all'abbonamento.

    Devi specificare un Amazon Resource Name (ARN) che includa la versione della funzione da importare. Non è possibile utilizzare alias di versione come $LATEST.

Impostazione predefinita: nessun abbonamento

Esempio Esempio di aggiornamento della configurazione (definizione di un abbonamento a AWS IoT Core)

L'esempio seguente specifica che il componente della funzione com.example.HelloWorldLambda Lambda pubblica un messaggio MQTT sull'argomento. AWS IoT Core hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "cloud" } } }
Esempio Esempio di aggiornamento della configurazione (definizione di una sottoscrizione a un'altra funzione Lambda)

L'esempio seguente specifica che il componente della funzione com.example.HelloWorldLambda Lambda pubblica messaggi MQTT sul componente della funzione com.example.MessageRelay Lambda sull'argomento. hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "component:com.example.MessageRelay" } } }
v2.0.x
subscriptions

(Facoltativo) Le sottoscrizioni da abilitare sul dispositivo principale. Si tratta di un oggetto, in cui ogni chiave è un ID univoco e ogni valore è un oggetto che definisce la sottoscrizione per quel connettore. È necessario configurare un abbonamento quando si distribuisce un componente del connettore V1 o una funzione Lambda che utilizza il AWS IoT Greengrass Core SDK.

Ogni oggetto di sottoscrizione contiene le seguenti informazioni:

id

L'ID univoco di questo abbonamento. Questo ID deve corrispondere alla chiave per questo oggetto di sottoscrizione.

source

La funzione Lambda che utilizza il AWS IoT Greengrass Core SDK per pubblicare messaggi MQTT sugli argomenti specificati in. subject Specificare le impostazioni seguenti:

  • L'Amazon Resource Name (ARN) di una funzione Lambda sul dispositivo principale.

    Importante

    Se la versione della funzione Lambda cambia, devi configurare l'abbonamento con la nuova versione della funzione. Altrimenti, questo componente non indirizzerà i messaggi finché la versione non corrisponde all'abbonamento.

    Devi specificare un Amazon Resource Name (ARN) che includa la versione della funzione da importare. Non è possibile utilizzare alias di versione come $LATEST.

Per distribuire un abbonamento per un componente del connettore V1, specifica l'ARN della funzione Lambda del componente del connettore.

subject

L'argomento o il filtro tematico MQTT in base al quale l'origine e la destinazione possono pubblicare e ricevere messaggi. Questo valore supporta i caratteri jolly + e # topic.

target

La destinazione che riceve i messaggi MQTT sugli argomenti specificati in. subject L'abbonamento specifica che la source funzione pubblica messaggi MQTT su AWS IoT Core o su una funzione Lambda sul dispositivo principale. Specifica una delle seguenti proprietà:

  • cloud. La source funzione pubblica messaggi MQTT su. AWS IoT Core

  • L'Amazon Resource Name (ARN) di una funzione Lambda sul dispositivo principale.

    Importante

    Se la versione della funzione Lambda cambia, devi configurare l'abbonamento con la nuova versione della funzione. Altrimenti, questo componente non indirizzerà i messaggi finché la versione non corrisponde all'abbonamento.

    Devi specificare un Amazon Resource Name (ARN) che includa la versione della funzione da importare. Non è possibile utilizzare alias di versione come $LATEST.

Impostazione predefinita: nessun abbonamento

Esempio Esempio di aggiornamento della configurazione (definizione di un abbonamento a AWS IoT Core)

L'esempio seguente specifica che la Greengrass_HelloWorld funzione pubblica un messaggio MQTT sull'argomento. AWS IoT Core hello/world

"subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "cloud" } }
Esempio Esempio di aggiornamento della configurazione (definizione di una sottoscrizione a un'altra funzione Lambda)

L'esempio seguente specifica che la Greengrass_HelloWorld funzione pubblica messaggi MQTT sull'argomento. Greengrass_MessageRelay hello/world

"subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5" } }

File di registro locale

Questo componente non genera registri.

Changelog

La tabella seguente descrive le modifiche in ciascuna versione del componente.

Versione

Modifiche

2.1.17

Aggiorna la versione del componente per la versione 2.18.0 di Greengrass nucleus.

2.1.16

Aggiorna la versione del componente per la versione 2.17.0 di Greengrass nucleus.

2.1.15

Versione aggiornata per Greengrass nucleus versione 2.16.0.

2.1.14

Versione aggiornata per la versione 2.15.0 di Greengrass nucleus.

2.1.13

Versione aggiornata per la versione 2.14.0 di Greengrass nucleus.

2.1.12

Versione aggiornata per la versione 2.13.0 di Greengrass nucleus.

2.1.11

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

2.1.10

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

2.1.9

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

2.1.8

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

2.1.7

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

2.1.6

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

2.1.5

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

2.1.4

Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.

2.1.3

Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.

2.1.2

Versione aggiornata per la versione 2.3.0 di Greengrass nucleus.

2.1.1

Versione aggiornata per la versione 2.2.0 di Greengrass nucleus.

2.1.0

Correzioni di bug e miglioramenti
  • Aggiunge il supporto per specificare i nomi dei componenti anziché gli ARN per source e. target Se si specifica il nome di un componente per un abbonamento, non è necessario riconfigurare l'abbonamento ogni volta che la versione della funzione Lambda cambia.

2.0.3

Versione iniziale.