Avviso di fine del supporto: il 7 ottobre 2026, AWS il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita Migrate from. AWS IoT Greengrass Version 1
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à.
CloudWatch Connettore Metrics
Il connettore CloudWatch Metrics pubblica metriche personalizzate dai dispositivi Greengrass su Amazon. CloudWatch Il connettore fornisce un'infrastruttura centralizzata per la pubblicazione delle CloudWatch metriche, che puoi utilizzare per monitorare e analizzare l'ambiente principale di Greengrass e agire sugli eventi locali. Per ulteriori informazioni, consulta Using Amazon CloudWatch metrics nella Amazon CloudWatch User Guide.
Questo connettore riceve i dati dei parametri come messaggi MQTT. Il connettore raggruppa i parametri che si trovano nello stesso namespace e li pubblica a intervalli regolari. CloudWatch
Questo connettore ha le seguenti versioni.
Versione |
ARN |
|---|---|
5 |
|
4 |
|
3 |
|
2 |
|
1 |
|
Per informazioni sulle modifiche di ogni versione, consulta Changelog.
Requisiti
Questo connettore presenta i seguenti requisiti:
Parametri del connettore
Questo connettore fornisce i seguenti parametri:
Esempio di creazione di un connettore (AWS CLI)
Il seguente comando CLI crea un ConnectorDefinition con una versione iniziale che contiene il connettore CloudWatch Metrics.
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyCloudWatchMetricsConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/CloudWatchMetrics/versions/4", "Parameters": { "PublishInterval" : "600", "PublishRegion" : "us-west-2", "MemorySize" : "16", "MaxMetricsToRetain" : "2500", "IsolationMode" : "GreengrassContainer" } } ] }'
Nella AWS IoT Greengrass console, puoi aggiungere un connettore dalla pagina Connettori del gruppo. Per ulteriori informazioni, consulta Nozioni di base sui connettori Greengrass (console).
Dati di input
Questo connettore accetta metriche su un argomento MQTT e le pubblica su. CloudWatch I messaggi di input devono essere in formato JSON.
- Filtro argomento in sottoscrizione
-
cloudwatch/metric/put - Proprietà dei messaggi
-
request-
Informazioni sui parametri di questo messaggio.
L'oggetto della richiesta contiene i dati dei parametri da pubblicare in CloudWatch. I valori delle metriche devono soddisfare le specifiche dell'
PutMetricDataAPI. Sono obbligatorie solo le proprietànamespace,metricData.metricNameemetricData.value.Obbligatorio:
trueTipo:
objectche include le seguenti proprietà:namespace-
Lo spazio dei nomi definito dall'utente per i dati metrici in questa richiesta. CloudWatch utilizza i namespace come contenitori per i punti dati metrici.
Nota
Non è possibile specificare uno spazio dei nomi che inizi con la stringa riservata.
AWS/Obbligatorio:
trueTipo:
stringSchema valido:
[^:].* metricData-
I dati del parametro.
Richiesto:
trueTipo:
objectche include le seguenti proprietà:metricName-
Nome del parametro.
Obbligatorio:
trueTipo:
string dimensions-
Le dimensioni associate al parametro. Le dimensioni forniscono ulteriori informazioni sul parametro e sui relativi dati. Un parametro è in grado di definire fino a 10 dimensioni.
Questo connettore include automaticamente una dimensione denominata
coreName, dove il valore è il nome del core.Obbligatorio:
falseTipo:
arraydi oggetti dimensionali che includono le seguenti proprietà:name-
Il nome della dimensione.
Obbligatorio:
falseTipo:
string value-
Il valore della dimensione.
Richiesto:
falseTipo:
string
timestamp-
L'ora in cui i dati della metrica sono stati ricevuti, espressa come numero di secondi trascorsi da allora
Jan 1, 1970 00:00:00 UTC. Se questo valore viene omesso, il connettore utilizza l'ora di ricezione del messaggio.Obbligatorio:
falseTipo:
timestampNota
Se utilizzi tra le versioni 1 e 4 di questo connettore, ti consigliamo di recuperare il timestamp separatamente per ogni metrica quando invii più metriche da un'unica fonte. Non utilizzare una variabile per memorizzare il timestamp.
value-
Il valore del parametro.
Nota
CloudWatch rifiuta valori troppo piccoli o troppo grandi. I valori devono essere compresi nell'intervallo da
8.515920e-109a1.174271e+108(Base 10) o da2e-360a2e360(Base 2). I valori speciali (ad esempio,NaN,+Infinity,-Infinity) non sono supportati.Obbligatorio:
trueTipo:
double unit-
Unità del parametro.
Richiesto:
falseTipo:
stringValori validi:
Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
- Limiti
-
Tutti i limiti imposti dall' CloudWatch
PutMetricDataAPI si applicano alle metriche quando si utilizza questo connettore. Di seguito sono riportati i limiti particolarmente importanti:-
Limite di 40 KB sul payload dell'API
-
20 parametri per ciascuna richiesta API
-
150 transazioni al secondo (TPS) per l'API
PutMetricData
Per ulteriori informazioni, consulta CloudWatch i limiti nella Amazon CloudWatch User Guide.
-
- Input di esempio
-
{ "request": { "namespace": "Greengrass", "metricData": { "metricName": "latency", "dimensions": [ { "name": "hostname", "value": "test_hostname" } ], "timestamp": 1539027324, "value": 123.0, "unit": "Seconds" } } }
Dati di output
Questo connettore pubblica le informazioni di stato come dati di output su un argomento MQTT.
- Filtro argomento in sottoscrizione
-
cloudwatch/metric/put/status - Output di esempio: Operazione riuscita
-
La risposta include lo spazio dei nomi dei dati metrici e il
RequestIdcampo della risposta. CloudWatch{ "response": { "cloudwatch_rid":"70573243-d723-11e8-b095-75ff2EXAMPLE", "namespace": "Greengrass", "status":"success" } } - Esempio di output: Errore
-
{ "response" : { "namespace": "Greengrass", "error": "InvalidInputException", "error_message":"cw metric is invalid", "status":"fail" } }Nota
Se il connettore rileva un errore ripetibile (ad esempio errori di connessione), riprova la pubblicazione nel batch successivo.
Esempio di utilizzo
Usa i seguenti passaggi di alto livello per configurare una funzione Lambda di esempio di Python 3.7 che puoi usare per provare il connettore.
Nota
-
Se usi altri runtime Python, puoi creare un collegamento simbolico da Python3.x a Python 3.7.
-
Gli argomenti Nozioni di base sui connettori (console) e Nozioni di base sui connettori (CLI) contengono passaggi dettagliati che illustrano come configurare e distribuire un connettore Twilio Notifications di esempio.
-
Assicurarsi di soddisfare i requisiti per il connettore.
Per il requisito del ruolo di gruppo, è necessario configurare il ruolo in modo da concedere le autorizzazioni necessarie e assicurarsi che il ruolo sia stato aggiunto al gruppo. Per ulteriori informazioni, consulta Gestione del ruolo del gruppo Greengrass (console) o Gestione del ruolo del gruppo Greengrass (CLI).
-
Crea e pubblica una funzione Lambda che invia dati di input al connettore.
Salvare il codice di esempio come file PY. Scarica e decomprimi il AWS IoT Greengrass Core SDK per Python. Quindi, crea un pacchetto zip che contiene il file PY e la cartella
greengrasssdka livello root. Questo pacchetto zip è il pacchetto di distribuzione in cui carichi. AWS LambdaDopo aver creato la funzione Python 3.7 Lambda, pubblica una versione della funzione e crea un alias.
-
Configurare il gruppo Greengrass.
-
Aggiungi la funzione Lambda tramite il relativo alias (consigliato). Configura il ciclo di vita Lambda come longevo (o nella
"Pinned": trueCLI). -
Aggiungere il connettore e configurarne i relativi parametri.
-
Aggiungere sottoscrizioni che consentono al connettore di ricevere i dati di input e inviare i dati di output nei filtri degli argomenti supportati.
-
Imposta la funzione Lambda come origine, il connettore come destinazione e utilizza un filtro per argomenti di input supportato.
-
Imposta il connettore come origine, AWS IoT Core come destinazione e utilizza un filtro per l’argomento di output supportato. Utilizzi questo abbonamento per visualizzare i messaggi di stato nella AWS IoT console.
-
-
-
Distribuisci il gruppo.
-
Nella AWS IoT console, nella pagina Test, sottoscrivi l'argomento relativo ai dati di output per visualizzare i messaggi di stato dal connettore. La funzione Lambda di esempio è di lunga durata e inizia a inviare messaggi subito dopo l'implementazione del gruppo.
Al termine del test, puoi impostare il ciclo di vita Lambda su richiesta (o nella CLI) e
"Pinned": falsedistribuire il gruppo. Ciò impedisce alla funzione di inviare messaggi.
Esempio
L'esempio seguente della funzione Lambda invia un messaggio di input al connettore.
import greengrasssdk import time import json iot_client = greengrasssdk.client('iot-data') send_topic = 'cloudwatch/metric/put' def create_request_with_all_fields(): return { "request": { "namespace": "Greengrass_CW_Connector", "metricData": { "metricName": "Count1", "dimensions": [ { "name": "test", "value": "test" } ], "value": 1, "unit": "Seconds", "timestamp": time.time() } } } def publish_basic_message(): messageToPublish = create_request_with_all_fields() print("Message To Publish: ", messageToPublish) iot_client.publish(topic=send_topic, payload=json.dumps(messageToPublish)) publish_basic_message() def lambda_handler(event, context): return
Licenze
Il connettore CloudWatch Metrics include i seguenti software/licenze di terze parti:
-
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 connettore è rilasciato ai sensi del contratto di licenza del software Greengrass Core
Changelog
La tabella seguente descrive le modifiche apportate a ciascuna versione del connettore.
Versione |
Modifiche |
|---|---|
5 |
Correzione dell'aggiunta del supporto per timestamp duplicati nei dati di input. |
4 |
Aggiunto il parametro |
3 |
È stato aggiornato il runtime Lambda a Python 3.7, che modifica i requisiti di runtime. |
2 |
Correggere per ridurre l'eccessiva registrazione di log. |
1 |
Versione iniziale. |
Un gruppo Greengrass può contenere una sola versione del connettore alla volta. Per informazioni sull'aggiornamento di una versione del connettore, consulta Aggiornamento delle versioni dei connettori.
Consulta anche
-
Integrazione con servizi e protocolli tramite i connettori Greengrass
-
Utilizzo dei CloudWatch parametri di Amazon nella Amazon CloudWatch User Guide
-
PutMetricDatanell'Amazon CloudWatch API Reference