AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
ServiceNow MetricBase Connector
Warnung
Dieser Konnektor wurde in dieverlängerte Phase, undAWS IoT Greengrassveröffentlicht keine Updates, die Funktionen, Verbesserungen vorhandener Funktionen, Sicherheitspatches oder Fehlerbehebungen bieten. Weitere Informationen finden Sie unter AWS IoT Greengrass Version 1Wartungspolitik.
Die ServiceNow MetricBase IntegrationAnschlussveröffentlicht Zeitreihenmetriken von Greengrass-Geräten für ServiceNow MetricBase. Auf diese Weise können Sie Zeitreihendaten aus der Greengrass Core-Umgebung speichern, analysieren und visualisieren und auf lokale Ereignisse reagieren.
Dieser Konnektor empfängt Zeitreihendaten zu einem MQTT-Thema und veröffentlicht die Daten im ServiceNow API in regelmäßigen Abständen.
Sie können diesen Konnektor zur Unterstützung vieler Szenarien verwenden, darunter z. B.:
Erstellen von Schwellenwert-basierten Warnmeldungen und Alarmen basierend auf Zeitreihendaten, die von Greengrass-Geräten gesammelt wurden.
Verwenden von Zeitservicedaten von Greengrass-Geräten mit benutzerdefinierten Anwendungen, die auf dem ServiceNow platform.
Dieser Konnektor hat die folgenden Versionen.
Version |
ARN |
---|---|
4 |
|
3 |
|
2 |
|
1 |
|
Informationen über Versionsänderungen finden Sie im Änderungsprotokoll.
Voraussetzungen
Dieser Konnektor hat die folgenden Anforderungen:
Connector-Parameter
Dieser Konnektor stellt die folgenden Parameter bereit:
Beispiel für das Erstellen eines Konnektors (AWS CLI)
Der folgende -CLI-Befehl erstellt eineConnectorDefinition
mit einer Erstversion, die den ServiceNow MetricBase Connector für die Integration
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" } } ] }'
Anmerkung
Die Lambda-Funktion in diesem Konnektor hat einelangdauerndemLebenszyklus.
In derAWS IoT Greengrass-Konsole können Sie einen Connector aus demKonnektorenangezeigten. Weitere Informationen finden Sie unter Erste Schritte mit Greengrass-Konnektoren (Konsole).
Eingabedaten
Dieser Konnektor akzeptiert Zeitreihenmetriken zu einem MQTT-Thema und veröffentlicht die Metriken ServiceNow. Eingabebotschaften müssen im JSON-Format vorliegen.
- Themenfilter im Abonnement
-
servicenow/metricbase/metric
- Nachrichten-Eigenschaften
-
request
-
Informationen über die Tabelle, den Datensatz und die Metrik. Diese Anforderung repräsentiert das Objekt
seriesRef
in einer Zeitreihen-POST-Anforderung. Weitere Informationen finden Sie unter Clotho Zeitreihen-API - POST. Erforderlich:
true
Typ:
object
, das die folgenden Eigenschaften beinhaltet:subject
-
Die
sys_id
des spezifischen Datensatzes in der Tabelle.Erforderlich:
true
Typ:
string
metric_name
-
Der Metrik-Feldname.
Erforderlich:
true
Typ:
string
table
-
Der Name der Tabelle, in der der Datensatz gespeichert werden soll. Geben Sie diesen Wert an, um den Parameter
DefaultTableName
zu überschreiben.Erforderlich:
false
Typ:
string
value
-
Der Wert des einzelnen Datenpunktes.
Erforderlich:
true
Typ:
float
timestamp
-
Der Zeitstempel des einzelnen Datenpunktes. Der Standardwert ist die aktuelle Zeit.
Erforderlich:
false
Typ:
string
- Beispieleingabe
-
{ "request": { "subject":"ef43c6d40a0a0b5700c77f9bf387afe3", "metric_name":"u_count", "table": "u_greengrass_app" "value": 1.0, "timestamp": "2018-10-14T10:30:00" } }
Ausgabedaten
Dieser Connector veröffentlicht Statusinformationen als Ausgabedaten im MQTT-Thema.
- Themenfilter im Abonnement
-
servicenow/metricbase/metric/status
- Beispielausgabe: Herzlichen Glückwunsch
-
{ "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 } ] } }
- Beispielausgabe: Fehler
-
{ "response": { "error": "InvalidInputException", "error_message": "metric value is invalid", "status": "fail" } }
Anmerkung
Wenn der Konnektor einen wiederholbaren Fehler erkennt (z. B. Verbindungsfehler), versucht er die Veröffentlichung im nächsten Batch erneut.
Verwendungsbeispiele
Führen Sie die folgenden allgemeinen Schritte aus, um eine Python 3.7-Lambda-Beispielfunktion einzurichten, mit der Sie den Konnektor ausprobieren können.
Anmerkung
-
Wenn Sie andere Python-Laufzeitumgebung verwenden, können Sie einen Symlink von Python 3.x zu Python 3.7 erstellen.
-
In den Themen Beginnen Sie mit Konnektoren (Konsole) und Erste Schritte mit Konnektoren (CLI) wird ausführlich beschrieben, wie Sie einen Beispielkonnektor für Twilio-Benachrichtigungen konfigurieren und bereitstellen.
Stellen Sie sicher, dass Sie die Anforderungen für den Konnektor erfüllen.
-
Erstellen und veröffentlichen Sie eine Lambda-Funktion, die Eingabedaten an den Konnektor sendet.
Speichern Sie den Beispielcode als PY-Datei. Downloaden und entpacken Sie dasAWS IoT GreengrassKern-SDK für Python. Erstellen Sie dann ein ZIP-Paket, das die PY-Datei und den Ordner
greengrasssdk
auf Stammebene enthält. Dieses ZIP-Paket ist das Bereitstellungspaket, das Sie auf hochladen.AWS Lambda.Nachdem Sie die Python 3.7-Lambda-Funktion erstellt haben, veröffentlichen Sie eine Funktionsversion und erstellen Sie einen Alias.
-
Konfigurieren Sie Ihre Greengrass-Gruppe.
-
Fügen Sie die Lambda-Funktion über ihren Alias hinzu (empfohlen). Konfigurieren Sie den Lambda-Lebenszyklus als langlebig (oder
"Pinned": true
in der CLI). -
Fügen Sie die erforderliche Secret-Ressource hinzu und gewähren Sie Lesezugriff auf die Lambda-Funktion.
-
Fügen Sie den Konnektor hinzu und konfigurieren Sie seine Parameter.
-
Fügen Sie Abonnements hinzu, die es dem Konnektor ermöglichen, Eingabedaten zu empfangen und Ausgabedaten zu unterstützten Themenfiltern zu senden.
Legen Sie die Lambda--Funktion als Quelle und den Konnektor als Ziel fest und verwenden Sie einen unterstützten Eingabethemenfilter.
Legen Sie den Konnektor als Quelle und AWS IoT Core als Ziel fest und verwenden Sie einen unterstützten Ausgabethemenfilter. Sie verwenden dieses Abonnement zum Anzeigen von Statusmeldungen in derAWS IoTconsole.
-
-
Stellen Sie die Gruppe bereit.
-
In derAWS IoT-Konsole aufTestdas Thema Ausgabedaten abonnieren, um Statusmeldungen vom Connector anzuzeigen. Die Lambda-Beispielfunktion ist langlebig und beginnt sofort nach der Bereitstellung der Gruppe mit dem Senden von Nachrichten.
Wenn Sie mit dem Testen fertig sind, können Sie den Lambda-Lebenszyklus auf On-Demand (oder
"Pinned": false
in der CLI) und stellen Sie die Gruppe bereit. Dadurch wird verhindert, dass die Funktion Nachrichten sendet.
Beispiel
Die folgende Lambda-Beispielfunktion sendet eine Eingabenachricht an den Konnektor.
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
Lizenzen
Die ServiceNow MetricBase Der -Konnektor enthält die folgende Drittanbieter-Software/Lizenz:
pysnow
/MIT
Dieser Connector wird unter demLizenzvereinbarung für die Greengrass Core-Software
Änderungsprotokoll
In der folgenden Tabelle werden die wichtigen Änderungen in jeder Version für das Konnektor für beschrieben.
Version |
Änderungen |
---|---|
4 |
Der Parameter |
3 |
Die Lambda-Laufzeit wurde auf Python 3.7 aktualisiert, wodurch sich die Laufzeitanforderung ändert. |
2 |
Beheben, um übermäßige Protokollierung zu reduzieren. |
1 |
Erstversion. |
Eine Greengrass-Gruppe kann nur jeweils eine Version des Konnektors enthalten. Weitere Informationen zum Aktualisieren einer Konnektorversion finden Sie unter Aktualisieren von Konnektorversionen.