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à.
Amazon SNS
Il componente Amazon SNS (aws.greengrass.SNS) pubblica messaggi su un argomento Amazon Simple Notification Service (Amazon SNS). Puoi utilizzare questo componente per inviare eventi dai dispositivi principali di Greengrass a server Web, indirizzi e-mail e altri abbonati ai messaggi. Per ulteriori informazioni, consulta Cos'è Amazon SNS? nella Amazon Simple Notification Service Developer Guide.
Per pubblicare su un argomento Amazon SNS con questo componente, pubblica un messaggio sull'argomento a cui questo componente è abbonato. Per impostazione predefinita, questo componente si iscrive all'sns/messageargomento locale. publish/subscribe È possibile specificare altri argomenti, inclusi gli argomenti AWS IoT Core MQTT, quando si distribuisce questo componente.
Nel componente personalizzato, potresti voler implementare una logica di filtraggio o formattazione per elaborare i messaggi provenienti da altre fonti prima di pubblicarli su questo componente. Ciò consente di centralizzare la logica di elaborazione dei messaggi su un singolo componente.
Nota
Questo componente fornisce funzionalità simili al connettore Amazon SNS nella AWS IoT Greengrass V1. Per ulteriori informazioni, consulta il connettore Amazon SNS nella AWS IoT Greengrass V1 Developer Guide.
Argomenti
Versioni
Questo componente ha le seguenti versioni:
-
2.1.x
-
2.0.x
Tipo
Questo componente è un componente Lambda (aws.greengrass.lambda). Il nucleo di Greengrass esegue la funzione Lambda di questo componente utilizzando il componente di avvio Lambda.
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 dispositivo principale deve soddisfare i requisiti per eseguire le funzioni Lambda. Se desideri che il dispositivo principale esegua funzioni Lambda containerizzate, il dispositivo deve soddisfare i requisiti per farlo. Per ulteriori informazioni, consulta Requisiti della funzione Lambda.
-
La
versione 3.7 di Python è stata installata sul dispositivo principale e aggiunta alla variabile di ambiente PATH. -
Argomento Amazon SNS Per le istruzioni, consulta Creazione di un argomento Amazon SNS nella Guida per lo Sviluppatore di Amazon Simple Notification Service.
-
Il ruolo del dispositivo Greengrass deve consentire l'
sns:Publishazione, come mostrato nel seguente esempio di policy IAM.È possibile sovrascrivere dinamicamente l'argomento predefinito nel payload del messaggio di input per questo componente. Se l'applicazione utilizza questa funzionalità, la policy IAM deve includere tutti gli argomenti di destinazione come risorse. Puoi concedere alle risorse un accesso granulare o condizionale (ad esempio, utilizzando uno schema di denominazione con il carattere jolly
*). Per ricevere i dati di output da questo componente, è necessario unire il seguente aggiornamento di configurazione per il vecchio componente del router in abbonamento (
aws.greengrass.LegacySubscriptionRouter) quando si distribuisce questo componente. Questa configurazione specifica l'argomento in cui questo componente pubblica le risposte.Per ulteriori informazioni, consulta Creare distribuzione.
-
Il componente Amazon SNS è supportato per l'esecuzione in un VPC. Per distribuire questo componente in un VPC, è necessario quanto segue.
-
Il componente Amazon SNS deve avere una connettività a
sns---region.amazonaws.com.rproxy.goskope.comcui l'endpoint VPC è di.com.amazonaws.us-east-1.sns
-
Endpoint e porte
Questo componente deve essere in grado di eseguire richieste in uscita ai seguenti endpoint e porte, oltre agli endpoint e alle porte necessari per il funzionamento di base. Per ulteriori informazioni, consulta Consenti il traffico dei dispositivi tramite un proxy o un firewall.
| Endpoint | Porta | Richiesto | Description |
|---|---|---|---|
|
|
443 | Sì |
Pubblicare i messaggi su Amazon SNS. |
Dipendenze
Quando si distribuisce un componente, vengono distribuite AWS IoT Greengrass anche versioni compatibili delle relative 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
Per ulteriori informazioni sulle dipendenze dei componenti, consultate il riferimento alla composizione dei componenti. ComponentDependencies
Configurazione
Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.
Nota
La configurazione predefinita di questo componente include i parametri della funzione Lambda. Ti consigliamo di modificare solo i seguenti parametri per configurare questo componente sui tuoi dispositivi.
lambdaParams-
Un oggetto che contiene i parametri per la funzione Lambda di questo componente. Questo oggetto contiene le seguenti informazioni:
EnvironmentVariables-
Un oggetto che contiene i parametri della funzione Lambda. Questo oggetto contiene le seguenti informazioni:
DEFAULT_SNS_ARN-
L'ARN dell'argomento predefinito di Amazon SNS in cui questo componente pubblica messaggi. Puoi sovrascrivere l'argomento di destinazione con la
sns_topic_arnproprietà nel payload del messaggio di input.
containerMode-
(Facoltativo) La modalità di containerizzazione per questo componente. Seleziona una delle opzioni seguenti:
-
NoContainer— Il componente non viene eseguito in un ambiente di runtime isolato. -
GreengrassContainer— Il componente viene eseguito in un ambiente di runtime isolato all'interno del AWS IoT Greengrass contenitore.
Impostazione predefinita:
GreengrassContainer -
containerParams(Facoltativo) Un oggetto che contiene i parametri del contenitore per questo componente. Il componente utilizza questi parametri se specificate
GreengrassContainerpercontainerMode.Questo oggetto contiene le seguenti informazioni:
memorySize(Facoltativo) La quantità di memoria (in kilobyte) da allocare al componente.
Il valore predefinito è 512 MB (525.312 KB).
pubsubTopics-
(Facoltativo) Un oggetto che contiene gli argomenti a cui il componente si iscrive per ricevere messaggi. È possibile specificare ogni argomento e se il componente sottoscrive argomenti MQTT provenienti da AWS IoT Core o argomenti locali. publish/subscribe
Questo oggetto contiene le seguenti informazioni:
0— Questo è un indice di matrice sotto forma di stringa.-
Un oggetto che contiene le seguenti informazioni:
type-
(Facoltativo) Il tipo di publish/subscribe messaggistica utilizzato da questo componente per sottoscrivere i messaggi. Seleziona una delle opzioni seguenti:
-
PUB_SUB— Sottoscrivi ai publish/subscribe messaggi locali. Se scegli questa opzione, l'argomento non può contenere caratteri jolly MQTT. Per ulteriori informazioni su come inviare messaggi da un componente personalizzato quando si specifica questa opzione, vedere. Pubblicare/sottoscrivere messaggi locali -
IOT_CORE— Iscriviti ai messaggi AWS IoT Core MQTT. Se scegli questa opzione, l'argomento può contenere caratteri jolly MQTT. Per ulteriori informazioni su come inviare messaggi da componenti personalizzati quando si specifica questa opzione, vedere. Publish/subscribe AWS IoT Core Messaggi MQTT
Impostazione predefinita:
PUB_SUB -
topic-
(Facoltativo) L'argomento a cui il componente si iscrive per ricevere messaggi. Se si specifica
IotCorepertype, è possibile utilizzare i caratteri jolly MQTT (+e#) in questo argomento.
Esempio Esempio: aggiornamento dell'unione delle configurazioni (modalità contenitore)
{ "lambdaExecutionParameters": { "EnvironmentVariables": { "DEFAULT_SNS_ARN": "arn:aws:sns:us-west-2:123456789012:mytopic" } }, "containerMode": "GreengrassContainer" }
Esempio Esempio: aggiornamento dell'unione delle configurazioni (nessuna modalità contenitore)
{ "lambdaExecutionParameters": { "EnvironmentVariables": { "DEFAULT_SNS_ARN": "arn:aws:sns:us-west-2:123456789012:mytopic" } }, "containerMode": "NoContainer" }
Dati di input
Questo componente accetta messaggi sull'argomento seguente e pubblica il messaggio così com'è nell'argomento Amazon SNS di destinazione. Per impostazione predefinita, questo componente si iscrive ai messaggi locali. publish/subscribe Per ulteriori informazioni su come pubblicare messaggi su questo componente dai componenti personalizzati, vederePubblicare/sottoscrivere messaggi locali.
Argomento predefinito (locale publish/subscribe): sns/message
Il messaggio accetta le seguenti proprietà. I messaggi di input devono essere in formato JSON.
request-
Le informazioni sul messaggio da inviare all'argomento Amazon SNS.
Tipo:
objectche contiene le seguenti informazioni:message-
Il contenuto del messaggio sotto forma di stringa.
Per inviare un oggetto JSON, serializzalo come stringa e specifica
jsonlamessage_structureproprietà.Tipo:
string subject-
(Facoltativo) L'oggetto del messaggio.
Tipo:
stringL'oggetto può essere testo ASCII e contenere fino a 100 caratteri. Deve iniziare con una lettera, un numero o un segno di punteggiatura. Non può includere interruzioni di riga o caratteri di controllo.
sns_topic_arn-
(Facoltativo) L'ARN dell'argomento Amazon SNS in cui questo componente pubblica il messaggio. Specifica questa proprietà per sovrascrivere l'argomento predefinito di Amazon SNS.
Tipo:
string message_structure-
(Facoltativo) La struttura del messaggio. Specifica
jsondi inviare un messaggio JSON da serializzare come stringa nellacontentproprietà.Tipo:
stringValori validi:
json
id-
Un ID arbitrario della richiesta. Usa questa proprietà per mappare una richiesta di input a una risposta di output. Quando si specifica questa proprietà, il componente imposta la
idproprietà nell'oggetto di risposta su questo valore.Tipo:
string
Nota
La dimensione del messaggio può essere un massimo di 256 KB.
Esempio Input di esempio: messaggio in formato stringa
{ "request": { "subject": "Message subject", "message": "Message data", "sns_topic_arn": "arn:aws:sns:region:account-id:topic2-name" }, "id": "request123" }
Esempio Input di esempio: messaggio JSON
{ "request": { "subject": "Message subject", "message": "{ \"default\": \"Message data\" }", "message_structure": "json" }, "id": "request123" }
Dati di output
Per impostazione predefinita, questo componente pubblica le risposte come dati di output sul seguente argomento MQTT. È necessario specificare questo argomento come subject nella configurazione per il componente router in abbonamento legacy. Per ulteriori informazioni su come sottoscrivere i messaggi su questo argomento nei componenti personalizzati, vederePublish/subscribe AWS IoT Core Messaggi MQTT.
Argomento predefinito (AWS IoT Core MQTT): sns/message/status
Esempio Output di esempio: Operazione riuscita
{ "response": { "sns_message_id": "f80a81bc-f44c-56f2-a0f0-d5af6a727c8a", "status": "success" }, "id": "request123" }
Esempio Esempio di output: Errore
{ "response" : { "error": "InvalidInputException", "error_message": "SNS Topic Arn is invalid", "status": "fail" }, "id": "request123" }
File di registro locale
Questo componente utilizza il seguente file di registro.
/logs/aws.greengrass.SNS.log/greengrass/v2
Per visualizzare i log di questo componente
-
Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituiscilo
con il percorso della cartella AWS IoT Greengrass principale./greengrass/v2sudo tail -f/logs/aws.greengrass.SNS.log/greengrass/v2
Licenze
Questo componente include le seguenti terze parti software/licensing:
-
AWS SDK per Python (Boto3)
/Apache License 2.0 -
botocore
/Apache License 2.0 -
dateutil
/PSF License -
docutils
/BSD License, GNU General Public License (GPL), Python Software Foundation License, Public Domain -
jmespath
/MIT License -
s3transfer
/Apache License 2.0 -
urllib3
/MIT License
Questo componente è rilasciato in base al contratto di licenza software
Changelog
La tabella seguente descrive le modifiche in ciascuna versione del componente.
|
Versione |
Modifiche |
|---|---|
|
2.1.10 |
Versione aggiornata per la versione 2.15.0 di Greengrass nucleus. |
|
2.1.9 |
Versione aggiornata per la versione 2.14.0 di Greengrass nucleus. |
|
2.1.8 |
Versione aggiornata per la versione 2.13.0 di Greengrass nucleus. |
|
2.1.7 |
Versione aggiornata per la versione 2.12.0 di Greengrass nucleus. |
|
2.1.6 |
Versione aggiornata per la versione 2.11.0 di Greengrass nucleus. |
|
2.1.5 |
Versione aggiornata per la versione 2.10.0 di Greengrass nucleus. |
|
2.1.4 |
Versione aggiornata per la versione 2.9.0 di Greengrass nucleus. |
|
2.1.3 |
Versione aggiornata per la versione 2.8.0 di Greengrass nucleus. |
|
2.1.2 |
Versione aggiornata per la versione 2.7.0 di Greengrass nucleus. |
|
2.1.1 |
Versione aggiornata per la versione 2.6.0 di Greengrass nucleus. |
|
2.1.0 |
|
|
2.0.8 |
Versione aggiornata per la versione 2.5.0 di Greengrass nucleus. |
|
2.0.7 |
Versione aggiornata per la versione 2.4.0 di Greengrass nucleus. |
|
2.0.6 |
Versione aggiornata per la versione 2.3.0 di Greengrass nucleus. |
|
2.0.5 |
Versione aggiornata per la versione 2.2.0 di Greengrass nucleus. |
|
2.0.4 |
Versione aggiornata per la versione 2.1.0 di Greengrass nucleus. |
|
2.0.3 |
Versione iniziale. |