AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.
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à.
ServiceNow MetricBase Connettore di integrazione
avvertimento
Questo connettore è stato spostato nelFase di vitaeAWS IoT Greengrassnon rilascerà aggiornamenti che forniscono funzionalità, miglioramenti alle funzionalità esistenti, patch di sicurezza o correzioni di bug. Per ulteriori informazioni, consulta la pagina AWS IoT Greengrass Version 1politica di manutenzione .
La ServiceNow MetricBase Integrationconnettorepubblica i parametri delle serie temporali dai dispositivi Greengrass in ServiceNow MetricBase. In questo modo potrai archiviare, analizzare e visualizzare i dati delle serie temporali dall'ambiente core di Greengrass e agire sugli eventi locali.
Questo connettore riceve dati delle serie temporali su un argomento MQTT e li pubblica in ServiceNow API a intervalli regolari.
Puoi utilizzare questo connettore per supportare molti scenari, ad esempio:
Creazione di avvisi basati su soglie e allarmi basati sui dati delle serie temporali raccolti dai dispositivi Greengrass.
Utilizzo dei dati dei servizi temporali dei dispositivi Greengrass con applicazioni personalizzate integrate nel ServiceNow platform.
Questo connettore dispone delle versioni seguenti.
Versione |
ARN |
---|---|
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 unConnectorDefinition
con una versione iniziale che contiene ServiceNow MetricBase Connettore di integrazione.
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyServiceNowMetricBaseIntegrationConnector", "ConnectorArn": "arn:aws:greengrass:
region
::/connectors/ServiceNowMetricBaseIntegration/versions/4", "Parameters": { "PublishInterval" : "10", "PublishBatchSize" : "50", "InstanceName" : "myinstance", "DefaultTableName" : "u_greengrass_app", "MaxMetricsToRetain" : "20000", "AuthSecretArn" : "arn:aws:secretsmanager:region
:account-id
:secret:greengrass-secret-hash
", "AuthSecretArn-ResourceId" : "MySecretResource", "IsolationMode" : "GreengrassContainer" } } ] }'
Nota
La funzione Lambda in questo connettore ha undi lungaCiclo di vita
NellaAWS IoT Greengrassconsole, è possibile aggiungere un connettore dal gruppoConnettori(Certificato creato). Per ulteriori informazioni, consulta la pagina Nozioni di base sui connettori Greengrass (console) .
Dati di input
Questo connettore accetta i parametri delle serie temporali su un argomento MQTT e li pubblica in ServiceNow. I messaggi di input devono essere in formato JSON.
- Filtro argomento in sottoscrizione
-
servicenow/metricbase/metric
- Proprietà dei messaggi
-
request
-
Informazioni sulla tabella, sul record e sul parametro. Questa richiesta rappresenta l'oggetto
seriesRef
in una richiesta POST delle serie temporali. Per ulteriori informazioni, consulta API delle serie temporali Clotho - POST. Campo obbligatorio:
true
Tipo:
object
con le seguenti proprietà:subject
-
Il valore
sys_id
del record specifico della tabella.Campo obbligatorio:
true
Tipo:
string
metric_name
-
Il nome del campo del parametro.
Campo obbligatorio:
true
Tipo:
string
table
-
Il nome della tabella in cui memorizzare il record. Specifica questo valore per sostituire il parametro
DefaultTableName
.Campo obbligatorio:
false
Tipo:
string
value
-
Il valore del punto dati individuale.
Campo obbligatorio:
true
Tipo:
float
timestamp
-
Il timestamp del punto dati individuale. Il valore predefinito è l'ora corrente.
Campo obbligatorio:
false
Tipo:
string
- Input di esempio
-
{ "request": { "subject":"ef43c6d40a0a0b5700c77f9bf387afe3", "metric_name":"u_count", "table": "u_greengrass_app" "value": 1.0, "timestamp": "2018-10-14T10:30:00" } }
Dati di output
Questo connettore pubblica le informazioni di stato come dati di output su un argomento MQTT.
- Filtro argomento in sottoscrizione
-
servicenow/metricbase/metric/status
- Output di esempio: Riuscito
-
{ "response": { "metric_name": "Errors", "table_name": "GliderProd", "processed_on": "2018-10-14T10:35:00", "response_id": "khjKSkj132qwr23fcba", "status": "success", "values": [ { "timestamp": "2016-10-14T10:30:00", "value": 1.0 }, { "timestamp": "2016-10-14T10:31:00", "value": 1.1 } ] } }
- Output di esempio: Errore
-
{ "response": { "error": "InvalidInputException", "error_message": "metric value is invalid", "status": "fail" } }
Nota
Se il connettore rileva un errore riprovabile (ad esempio, errori di connessione), tenta nuovamente la pubblicazione nel batch successivo.
Esempio di utilizzo
Utilizza i seguenti passaggi di alto livello per impostare un esempio di funzione Lambda Python 3.7 che puoi utilizzare per provare il connettore.
Nota
-
Se stai utilizzando 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.
-
Crea e pubblica una funzione Lambda che invia i dati di input al connettore.
Salvare il codice di esempio come file PY. Scarica e decomprimi il fileAWS IoT GreengrassSDK Core per Python. Quindi, crea un pacchetto zip che contiene il file PY e la cartella
greengrasssdk
a livello root. Questo pacchetto zip è il pacchetto di distribuzione caricato suAWS Lambda.Dopo aver creato la funzione Lambda Python 3.7, pubblica una versione della funzione e crea un alias.
-
Configurare il gruppo Greengrass.
-
Aggiungi la funzione Lambda con il suo alias (scelta consigliata). Configura il ciclo di vita Lambda su lunga durata (o
"Pinned": true
nella CLI). -
Aggiungi la risorsa segreta richiesta e concedi l'accesso in lettura alla funzione Lambda.
-
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 l'argomento di input supportato.
Imposta il connettore come origine, AWS IoT Core come destinazione e utilizza un filtro per l’argomento di output supportato. Utilizza questa sottoscrizione per visualizzare i messaggi di stato inAWS IoTConsole.
-
-
Distribuisci il gruppo.
-
NellaAWS IoTconsole,Test, sottoscrivi l'argomento dei dati di output per visualizzare i messaggi di stato dal connettore. La funzione Lambda di esempio ha una lunga durata e inizia a inviare messaggi immediatamente dopo la distribuzione del gruppo.
Al termine del test, puoi impostare il ciclo di vita Lambda su «on demand» (o
"Pinned": false
nella CLI) e distribuire il gruppo. Ciò impedisce alla funzione di inviare messaggi.
Esempio
La funzione Lambda di esempio seguente invia un messaggio di input al connettore.
import greengrasssdk import json iot_client = greengrasssdk.client('iot-data') SEND_TOPIC = 'servicenow/metricbase/metric' def create_request_with_all_fields(): return { "request": { "subject": '2efdf6badbd523803acfae441b961961', "metric_name": 'u_count', "value": 1234, "timestamp": '2018-10-20T20:22:20', "table": 'u_greengrass_metricbase_test' } } 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
La ServiceNow MetricBase Il connettore di integrazione include il software e le licenze di terze parti
pysnow
/MIT
Questo connettore viene rilasciato sottoAccordo di licenza del software Greengrass Core
Changelog
La tabella seguente descrive le modifiche apportate a ogni versione del connettore.
Versione |
Modifiche |
---|---|
4 |
Aggiunto il parametro |
3 |
Aggiornato il runtime Lambda a Python 3.7, che modifica il requisito 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.