IoT Analytics AWS - AWS IoT Greengrass

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.

IoT Analytics AWS

Warnung

Dieser Connector ist in die erweiterte Lebensphase übergegangen undAWS IoT Greengrass wird keine Updates veröffentlichen, die Funktionen, Verbesserungen vorhandener Funktionen, Sicherheitspatches oder Bugfixes bereitstellen. Weitere Informationen finden Sie unter AWS IoT Greengrass Version 1Wartungspolitik.

Der IoT Analytics Analytics-Connector sendet lokale Gerätedaten anAWS IoT Analytics. Sie können diesen Connector als zentralen Hub verwenden, um Daten von Sensoren auf dem Greengrass-Core-Gerät und von verbundenen Client-Geräten zu sammeln. Der Connector sendet die Daten anAWS IoT Analytics Kanäle in der aktuellenAWS-Konto und der Region. Sie kann Daten an einen Standardzielkanal und an dynamisch angegebene Kanäle senden.

Anmerkung

AWS IoT Analytics ist ein vollständig verwalteter Service, mit dem Sie IoT-Daten erfassen, speichern, verarbeiten und abfragen können. In AWS IoT Analytics können die Daten weiter analysiert und verarbeitet werden. Auf diese Weise können beispielsweise ML-Modelle zur Überwachung des Computerstatus oder zum Test neuer Modellierungsstrategien geschult werden. Weitere Informationen finden Sie unter Was ist AWS IoT Analytics? im AWS IoT Analytics-Benutzerhandbuch.

Der Konnektor akzeptiert formatierte und unformatierte Daten zu Eingabe-MQTT-Themen. Es werden zwei vordefinierte Themen mit angegebenem Zielkanal unterstützt. Sie kann auch Nachrichten zu den von Kunden definierten Themen empfangen, die in Abonnements konfiguriert sind. Dies kann verwendet werden, um Nachrichten von Client-Geräten weiterzuleiten, die zu festen Themen veröffentlichen, oder um unstrukturierte oder stapelabhängige Daten von Geräten mit beschränkten Ressourcen zu verarbeiten.

Dieser Connector verwendet die BatchPutMessageAPI, um Daten (als JSON- oder Base64-kodierte Zeichenfolge) an den Zielkanal zu senden. Der Konnektor kann Rohdaten in ein Format verarbeiten, das den API-Anforderungen entspricht. Der Konnektor puffert Eingabenachrichten in Warteschlangen pro Kanal und verarbeitet die Stapel asynchron. Sie bietet Parameter, mit denen Sie das Verhalten von Warteschlangen und Stapeln steuern und die Speicherbelegung beschränken können. Beispielsweise können Sie die maximale Warteschlangengröße, den Stapelintervall, die Größe des Arbeitsspeichers und die Anzahl der aktiven Kanäle konfigurieren.

Dieser Connector hat die folgenden Versionen.

Version

ARN

4

arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/4

3

arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/3

2

arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/2

1

arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/1

Informationen über Versionsänderungen finden Sie im Änderungsprotokoll.

Voraussetzungen

Dieser Konnektor hat die folgenden Anforderungen:

Version 3 - 4
  • AWS IoT Greengrass Core-Software v1.9.3 oder höher.

  • Python-Version 3.7 oder 3.8 wurde auf dem Kerngerät installiert und zur PATH-Umgebungsvariablen hinzugefügt.

    Anmerkung

    Um Python 3.8 zu verwenden, führen Sie den folgenden Befehl aus, um einen symbolischen Link vom Standard-Python 3.7-Installationsordner zu den installierten Python 3.8-Binärdateien zu erstellen.

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    Dadurch wird Ihr Gerät so konfiguriert, dass es die Python-Anforderung für AWS IoT Greengrass erfüllt.

  • Dieser Connector kann nur in Amazon Web Services Services-Regionen verwendet werden, in denen beide AWS IoT Greengrassund unterstützt AWS IoT Analyticswerden.

  • Alle zugehörigen AWS IoT Analytics-Entitäten und -Workflows werden erstellt und konfiguriert. Zu den Entitäten gehören Kanäle, Pipeline, Datastores und Datasets. Weitere Informationen finden Sie unter AWS CLI oder Konsolenprozeduren im AWS IoT Analytics-Benutzerhandbuch.

    Anmerkung

    AWS IoT AnalyticsZielkanäle müssen dasselbe Konto verwenden und sich im selben BereichAWS-Region wie dieser Connector befinden.

  • Die Greengrass-Gruppenrolle wurde so konfiguriert, dass sie dieiotanalytics:BatchPutMessage Aktion auf Zielkanälen zulässt, wie in der folgenden Beispiel-IAM-Richtlinie gezeigt. Die Kanäle müssen im aktuellen ModusAWS-Konto und in der Region sein.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1528133056761", "Action": [ "iotanalytics:BatchPutMessage" ], "Effect": "Allow", "Resource": [ "arn:aws:iotanalytics:region:account-id:channel/channel_1_name", "arn:aws:iotanalytics:region:account-id:channel/channel_2_name" ] } ] }

    Für die Gruppenrollenanforderung müssen Sie die Rolle so konfigurieren, dass die erforderlichen Berechtigungen erteilt werden, und sicherstellen, dass die Rolle der Gruppe hinzugefügt wurde. Weitere Informationen finden Sie unter Verwalten der Greengrass-Gruppenrolle (Konsole) oder Verwalten der Greengrass-Gruppenrolle (CLI).

Versions 1 - 2
  • AWS IoT GreengrassCore-Software v1.7 oder höher.

  • Python-Version 2.7 wurde auf dem Kerngerät installiert und zur Umgebungsvariablen PATH hinzugefügt.

  • Dieser Connector kann nur in Amazon Web Services Services-Regionen verwendet werden, in denen beide AWS IoT Greengrassund unterstützt AWS IoT Analyticswerden.

  • Alle zugehörigen AWS IoT Analytics-Entitäten und -Workflows werden erstellt und konfiguriert. Zu den Entitäten gehören Kanäle, Pipeline, Datastores und Datasets. Weitere Informationen finden Sie unter AWS CLI oder Konsolenprozeduren im AWS IoT Analytics-Benutzerhandbuch.

    Anmerkung

    AWS IoT AnalyticsZielkanäle müssen dasselbe Konto verwenden und sich im selben BereichAWS-Region wie dieser Connector befinden.

  • Die Greengrass-Gruppenrolle wurde so konfiguriert, dass sie dieiotanalytics:BatchPutMessage Aktion auf Zielkanälen zulässt, wie in der folgenden Beispiel-IAM-Richtlinie gezeigt. Die Kanäle müssen im aktuellen ModusAWS-Konto und in der Region sein.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1528133056761", "Action": [ "iotanalytics:BatchPutMessage" ], "Effect": "Allow", "Resource": [ "arn:aws:iotanalytics:region:account-id:channel/channel_1_name", "arn:aws:iotanalytics:region:account-id:channel/channel_2_name" ] } ] }

    Für die Gruppenrollenanforderung müssen Sie die Rolle so konfigurieren, dass die erforderlichen Berechtigungen erteilt werden, und sicherstellen, dass die Rolle der Gruppe hinzugefügt wurde. Weitere Informationen finden Sie unter Verwalten der Greengrass-Gruppenrolle (Konsole) oder Verwalten der Greengrass-Gruppenrolle (CLI).

Parameter

MemorySize

Die Speichergröße (in KB), die diesem Konnektor zugewiesen werden soll.

Anzeigename in derAWS IoT Konsole: Speichergröße

Erforderlich:true

Typ: string

Gültiges Muster:^[0-9]+$

PublishRegion

DasAWS-Region, in dem deineAWS IoT Analytics Kanäle erstellt wurden. Verwenden Sie dieselbe Region wie dem Konnektor.

Anmerkung

Diese muss ebenfalls der Region für die Kanäle entsprechen, die in der Gruppenrolle angegeben sind.

Anzeigename in derAWS IoT Konsole: Region veröffentlichen

Erforderlich:false

Typ: string

Gültiges Muster:^$|([a-z]{2}-[a-z]+-\\d{1})

PublishInterval

Das Intervall (in Sekunden) für die Veröffentlichung eines empfangener Datenstapels an AWS IoT Analytics.

Anzeigename in derAWS IoT Konsole: Veröffentlichungsintervall

Erforderlich:false

Typ: string

Standardwert: 1

Gültiges Muster:$|^[0-9]+$

IotAnalyticsMaxActiveChannels

Die maximale Anzahl der AWS IoT Analytics-Kanäle, die von dem Konnektor aktiv überwacht werden. Diese muss größer als 0 und mindestens gleich der Anzahl der Kanäle sein, die voraussichtlich von dem Konnektor zu einem bestimmten Zeitpunkt veröffentlicht werden.

Sie können mit diesem Parameter den Speicherverbrauch beschränken, indem Sie die Gesamtzahl der Warteschlangen, die von dem Konnektor zu einem bestimmten Zeitpunkt verwaltet werden können, einschränken. Eine Warteschlange wird gelöscht, wenn alle Nachrichten darin gesendet wurden.

Anzeigename in derAWS IoT Konsole: Maximale Anzahl aktiver Kanäle

Erforderlich:false

Typ: string

Standardwert: 50

Gültiges Muster:^$|^[1-9][0-9]*$

IotAnalyticsQueueDropBehavior

Das Verhalten für das Löschen von Nachrichten aus einer Kanalwarteschlange, wenn die Warteschlange voll ist.

Anzeigename in derAWS IoT Konsole: Verhalten beim Löschen von Warteschlangen

Erforderlich:false

Typ: string

Gültige Werte: DROP_NEWEST oder DROP_OLDEST.

Standardwert: DROP_NEWEST

Gültiges Muster:^DROP_NEWEST$|^DROP_OLDEST$

IotAnalyticsQueueSizePerChannel

Die maximale Anzahl der vor dem Senden oder Verwerfen der Nachrichten (pro Kanal) im Speicher gehaltenen Nachrichten. Dieser Wert muss größer als 0 sein.

Anzeigename in derAWS IoT Konsole: Maximale Warteschlangengröße pro Kanal

Erforderlich:false

Typ: string

Standardwert: 2048

Gültiges Muster:^$|^[1-9][0-9]*$

IotAnalyticsBatchSizePerChannel

Die maximale Anzahl der in einer Stapelanfrage an einen AWS IoT Analytics-Kanal gesendeten Nachrichten. Dieser Wert muss größer als 0 sein.

Anzeigename in derAWS IoT Konsole: Maximale Anzahl von Nachrichten, die pro Kanal gebündelt werden sollen

Erforderlich:false

Typ: string

Standardwert: 5

Gültiges Muster:^$|^[1-9][0-9]*$

IotAnalyticsDefaultChannelName

Der Name des AWS IoT Analytics-Kanals, der von diesem Konnektor für Nachrichten verwendet wird, die an ein vom Kunden definiertes Eingabethema gesendet werden.

Anzeigename in derAWS IoT Konsole: Standard-Kanalname

Erforderlich:false

Typ: string

Gültiges Muster:^[a-zA-Z0-9_]$

IsolationMode

Der Containerisierungsmodus für diesen Konnektor. Der Standardwert ist GreengrassContainer. Hierbei wird der Konnektor in einer isolierten Laufzeitumgebung innerhalb des AWS IoT Greengrass-Containers ausgeführt.

Anmerkung

Die Standardeinstellung für Containerisierung für die Gruppe gilt nicht für Konnektoren.

Anzeigename in derAWS IoT Konsole: Container-Isolationsmodus

Erforderlich:false

Typ: string

Gültige Werte: GreengrassContainer oder NoContainer.

Gültiges Muster:^NoContainer$|^GreengrassContainer$

Beispiel für das Erstellen eines Konnektors (AWS CLI)

Der folgende CLI-Befehl erstellt eine VersionConnectorDefinition mit einer ersten Version, die den IoT Analytics Analytics-Connector enthält.

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyIoTAnalyticsApplication", "ConnectorArn": "arn:aws:greengrass:region::/connectors/IoTAnalytics/versions/3", "Parameters": { "MemorySize": "65535", "PublishRegion": "us-west-1", "PublishInterval": "2", "IotAnalyticsMaxActiveChannels": "25", "IotAnalyticsQueueDropBehavior": "DROP_OLDEST", "IotAnalyticsQueueSizePerChannel": "1028", "IotAnalyticsBatchSizePerChannel": "5", "IotAnalyticsDefaultChannelName": "my_channel" } } ] }'
Anmerkung

Die Lambda-Funktion in diesem Konnektor hat einen langlebigen Lebenszyklus.

In derAWS IoT Greengrass Konsole können Sie auf der Seite Connectors der Gruppe einen Connector hinzufügen. Weitere Informationen finden Sie unter Erste Schritte mit Greengrass-Konnektoren (Konsole).

Eingabedaten

Dieser Konnektor akzeptiert Daten auf vordefinierten und vom Kunden definierten MQTT-Themen. Publisher können Client-Geräte, Lambda-Funktionen oder andere Konnektoren sein.

Vordefinierte Themen

Der Konnektor unterstützt die folgenden beiden strukturierten MQTT-Themen, mit denen Herausgeber den Kanalnamen inline angeben können.

  • Eine formatierte Nachricht zum iotanalytics/channels/+/messages/put-Thema. Die IoT-Daten in diesen Eingabenachrichten müssen als JSON- oder base64-kodierte Zeichenfolge formatiert sein.

  • Eine unformatierte Nachricht auf dem iotanalytics/channels/+/messages/binary/put-Thema. Die zu diesem Thema erhalten Eingabenachrichten werden als binäre Daten behandelt können einen beliebigen Datentyp enthalten.

    Wenn Sie vordefinierte Themen veröffentlichen möchten, ersetzen Sie den +-Platzhalter durch den Kanalnamen. Beispiel:

    iotanalytics/channels/my_channel/messages/put
Kundendefinierte Themen

Der Konnektor unterstützt die #-Themasyntax, wodurch er Eingabenachrichten zu einem beliebigen MQTT-Thema annehmen kann, das Sie in einem Abonnement konfigurieren. Wir empfehlen, dass Sie einen Themenpfad angeben, anstatt nur den# Platzhalter in Ihren Abonnements zu verwenden. Diese Nachrichten werden an den Standardkanal gesendet, den Sie für den Connector angeben.

Eingabenachrichten zu den von Kunden definierten Themen werden als Binärdaten behandelt. Sie können eine beliebiges Nachrichtformat verwenden und beliebige Datentypen enthalten. Mit den vom Kunden definierten Themen können Sie Nachrichten von Geräten weiterleiten, die an feste Themen veröffentlicht werden. Sie können sie auch verwenden, um Eingabedaten von Client-Geräten zu akzeptieren, die die Daten nicht zu einer formatierten Nachricht verarbeiten können, um sie an den Connector zu senden.

Weitere Informationen zu Abonnements und MQTT-Themen finden Sie unter Eingaben und Ausgaben.

Die Gruppenrolle muss die iotanalytics:BatchPutMessage-Aktion auf allen Zielkanälen erlauben. Weitere Informationen finden Sie unter Voraussetzungen.

Themenfilter: iotanalytics/channels/+/messages/put

Mit diesem Thema können Sie formatierte Nachrichten an den Konnektor senden und dynamisch einen Zielkanal angeben. Dieses Thema ermöglicht Ihnen auch die Angabe einer ID, die in der Antwortausgabe zurückgegeben wird. Der Konnektor bestätigt, dass IDs für jede an AWS IoT Analytics gesendete Nachricht in der ausgehenden BatchPutMessage-Anfrage eindeutig sind. Eine Nachricht mit einer doppelten ID wird gelöscht.

Die Eingabedaten zu diesem Thema müssen das folgende Format aufweisen.

Nachrichten-Eigenschaften
request

Die an den angegebenen Kanal zu sendenden Daten.

Erforderlich:true

Typ:object das die folgenden Eigenschaften:

message

Die Geräte- oder Sensordaten als JSON- oder base64-kodierte Zeichenfolge.

Erforderlich:true

Typ: string

id

Eine willkürliche ID für die Anforderung. Diese Eigenschaft wird verwendet, um eine Eingangsanforderung einer Ausgabeantwort zuzuordnen. Wenn angegeben, wird die Eigenschaft id im Antwortobjekt auf diesen Wert gesetzt. Wenn Sie diese Eigenschaft auslassen, wird von dem Konnektor eine ID generiert.

Erforderlich:false

Typ: string

Gültiges Muster:.*

Beispieleingabe
{ "request": { "message" : "{\"temp\":23.33}" }, "id" : "req123" }
Themenfilter: iotanalytics/channels/+/messages/binary/put

Mit diesem Thema können Sie unformatierte Nachrichten an den Konnektor senden und dynamisch einen Zielkanal angeben.

Die Konnektor-Daten analysieren die zu diesem Thema empfangenen Eingabenachrichten nicht. Sie werden als Binärdaten behandelt. Bevor die Nachrichten an AWS IoT Analytics gesendet werden, verschlüsselt und formatiert der Konnektor diese Nachrichten entsprechend den BatchPutMessage-API-Anforderungen:

  • Der Konnektor führt eine base64-Verschlüsselung der Rohdaten durch und schließt diese verschlüsselte Nutzlast in einer ausgehenden BatchPutMessage-Anforderung ein.

  • Der Konnektor generiert eine ID für jede Eingabenachricht und weist sie zu.

    Anmerkung

    In der Konnektor-Antwortausgabe ist keine ID-Korrelation für diese Eingabenachrichten beinhaltet.

Nachrichten-Eigenschaften

Keine.

Themenfilter: #

Verwenden Sie dieses Thema, um ein beliebiges Nachrichtenformat an den Standardkanal zu senden. Dies ist besonders nützlich, wenn Ihre Client-Geräte zu festen Themen veröffentlichen oder wenn Sie Daten von Client-Geräten, die die Daten nicht in das vom Connector unterstützte Nachrichtenformat verarbeiten können, an den Standardkanal senden möchten.

Sie definieren die Themensyntax in dem Abonnement, das Sie erstellen, um diesen Connector mit der Datenquelle zu verbinden. Wir empfehlen, dass Sie einen Themenpfad angeben, anstatt nur den# Platzhalter in Ihren Abonnements zu verwenden.

Die Konnektor-Daten analysieren die an dieses Eingabethema veröffentlichten Nachrichten nicht. Alle Eingabenachrichten werden als Binärdaten behandelt. Bevor die Nachrichten an AWS IoT Analytics gesendet werden, verschlüsselt und formatiert der Konnektor diese Nachrichten entsprechend den BatchPutMessage-API-Anforderungen:

  • Der Konnektor führt eine base64-Verschlüsselung der Rohdaten durch und schließt diese verschlüsselte Nutzlast in einer ausgehenden BatchPutMessage-Anforderung ein.

  • Der Konnektor generiert eine ID für jede Eingabenachricht und weist sie zu.

    Anmerkung

    In der Konnektor-Antwortausgabe ist keine ID-Korrelation für diese Eingabenachrichten beinhaltet.

Nachrichten-Eigenschaften

Keine.

Ausgabedaten

Dieser Connector veröffentlicht Statusinformationen als Ausgabedaten im MQTT-Thema. Diese Information enthält die Antwort, die vonAWS IoT Analytics für jede Eingangsnachricht zurückgegeben wird, die sie empfängt und an die sie sendetAWS IoT Analytics.

Themenfilter im Abonnement

iotanalytics/messages/put/status

Beispielausgabe: Erfolg
{ "response" : { "status" : "success" }, "id" : "req123" }
Beispielausgabe: Fehler
{ "response" : { "status" : "fail", "error" : "ResourceNotFoundException", "error_message" : "A resource with the specified name could not be found." }, "id" : "req123" }
Anmerkung

Wenn der Connector einen wiederholbaren Fehler feststellt (z. B. Verbindungsfehler), versucht er die Veröffentlichung im nächsten Batch erneut. Der exponentielle Backoff wird vomAWS SDK behandelt. Anfragen mit wiederholbaren Fehlern werden zur weiteren Veröffentlichung entsprechend dem IotAnalyticsQueueDropBehavior-Parameter wieder der Kanalwarteschlange hinzugefügt.

Verwendungsbeispiel

Verwenden Sie die folgenden allgemeinen Schritte, um eine Python 3.7-Lambda-Beispielfunktion einzurichten, mit der Sie den Konnektor ausprobieren können.

Anmerkung
  1. Stellen Sie sicher, dass Sie die Anforderungen für den Konnektor erfüllen.

    Für die Gruppenrollenanforderung müssen Sie die Rolle so konfigurieren, dass die erforderlichen Berechtigungen erteilt werden, und sicherstellen, dass die Rolle der Gruppe hinzugefügt wurde. Weitere Informationen finden Sie unter Verwalten der Greengrass-Gruppenrolle (Konsole) oder Verwalten der Greengrass-Gruppenrolle (CLI).

  2. Erstellen und veröffentlichen Sie eine Lambda-Funktion, die Eingabedaten an den Connector sendet.

    Speichern Sie den Beispielcode als PY-Datei. Laden Sie das AWS IoT GreengrassCore SDK für Python herunter und entpacken Sie es. Erstellen Sie dann ein ZIP-Paket, das die PY-Datei und den Ordner greengrasssdk auf Stammebene enthält. Dieses ZIP-Paket ist das Bereitstellungspaket, in das Sie hochladenAWS Lambda.

    Nachdem Sie die Lambda-Funktion Python 3.7 erstellt haben, veröffentlichen Sie eine Funktionsversion und erstellen Sie einen Alias.

  3. Konfigurieren Sie Ihre Greengrass-Gruppe.

    1. Fügen Sie die Lambda-Funktion mit ihrem Alias hinzu (empfohlen). Konfigurieren Sie den Lambda-Lebenszyklus als langlebig (oder"Pinned": true in der CLI).

    2. Fügen Sie den Konnektor hinzu und konfigurieren Sie seine Parameter.

    3. Fügen Sie Abonnements hinzu, die es dem Konnektor ermöglichen, Eingabedaten zu empfangen und Ausgabedaten zu unterstützten Themenfiltern zu senden.

      • Stellen Sie die Lambda-Funktion als Quelle und den Konnektor als Ziel ein 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, um Statusmeldungen in derAWS IoT Konsole anzuzeigen.

  4. Stellen Sie die Gruppe bereit.

  5. Abonnieren Sie in derAWS IoT Konsole auf der Testseite das Thema Ausgabedaten, um Statusmeldungen vom Connector einzusehen. 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) setzen und die Gruppe bereitstellen. Dadurch wird verhindert, dass die Funktion Nachrichten sendet.

Beispiel

Die folgende Lambda-Beispielfunktion sendet eine Eingabenachricht an den Connector.

import greengrasssdk import time import json iot_client = greengrasssdk.client('iot-data') send_topic = 'iotanalytics/channels/my_channel/messages/put' def create_request_with_all_fields(): return { "request": { "message" : "{\"temp\":23.33}" }, "id" : "req_123" } 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

Einschränkungen

Dieser Konnektor unterliegt den folgenden Einschränkungen.

  • Alle von derAWS SDK for Python (Boto3) für dieAWS IoT Analytics batch_put_messageAktion festgelegten Grenzen.

  • Alle von derAWS IoT Analytics BatchPutMessageAPI festgelegten Kontingente. Weitere Informationen finden Sie unter Service Quotas fürAWS IoT Analytics in der Allgemeine AWS-Referenz.

    • 100.000 Nachrichten pro Sekunde pro Kanal.

    • 100 Nachrichten pro Stapel.

    • 128 KB pro Nachricht.

    Diese API verwendet Kanalnamen (keine Kanal-ARNs), daher wird das Senden von Daten an regionsübergreifende oder kontoübergreifende Kanäle nicht unterstützt.

  • Alle vom AWS IoT Greengrass-Core vorgegebenen Kontingente. Weitere Informationen finden Sie unter Service Quotas für denAWS IoT Greengrass Kern in der Allgemeine AWS-Referenz.

    Die folgenden Kontingente sind möglicherweise in besonderem Maße zutreffend:

    • Die maximale Größe der von einem Gerät gesendeten Nachrichten ist 128 KB.

    • Die maximale Größe der Nachrichtenwarteschlange im Greengrass Core-Router ist 2,5 MB.

    • Die maximale Länge einer Thema-Zeichenfolge beträgt 256 Byte UTF-8-Zeichen.

Lizenzen

Der IoT Analytics Analytics-Connector umfasst die folgende Software/Lizenzierung von Drittanbietern:

Dieser Connector ist im Rahmen der Greengrass Core Software-Lizenzvereinbarung veröffentlicht.

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen des -Entwicklers.

Version

Änderungen

4

Fügt denIsolationMode Parameter hinzu, um den Containerisierungsmodus für den Connector zu konfigurieren.

3

Die Lambda-Laufzeit wurde auf Python 3.7 aktualisiert, wodurch sich die Laufzeitanforderungen ändern.

2

Beheben, um übermäßige Protokollierung zu reduzieren.

1

Erstversion.

Eine Greengrass-Gruppe kann jeweils nur eine Version des Connectors enthalten. Weitere Informationen zum Aktualisieren einer Konnektorversion finden Sie unter Aktualisieren von Konnektorversionen.

Weitere Informationen finden Sie auch unter