AWS IoT
Entwicklerhandbuch

Basic Ingest

Basic Ingest ermöglicht Ihnen, Gerätedaten sicher an die von AWS IoT-Regelaktionen unterstützten AWS-Services zu senden, ohne dass Messaging-Kosten entstehen. Basic Ingest optimiert den Datenfluss durch Entfernen des Message Brokers zum Veröffentlichen und Abonnieren aus dem Aufnahmepfad; dies ist kostengünstige, die Sicherheits- und Datenverarbeitungsfunktionen von AWS IoT bleiben jedoch erhalten.

Zur Verwendung von Basic Ingest senden Sie Nachrichten von Ihren Geräten oder Anwendungen mit Themennamen, die mit $aws/rules/rule-name als erste drei Ebenen beginnen, wobei rule-name der Name Ihrer auszulösenden AWS IoT-Regel ist.

Sie können eine vorhandene Regel mit Basic Ingest weiter verwenden, indem Sie einfach das Basic Ingest-Präfix ($aws/rules/rule-name) dem Thema der Nachricht hinzufügen, mit dem Sie die Regel normalerweise auslösen. Wenn Sie beispielsweise eine Regel mit dem Namen „BuildingManager“ haben, die von Nachrichten mit Themen wie „Buildings/Building5/Floor2/Room201/Lights“ (Gebäude/Gebäude5/Etage2/Raum201/Lampen) ("sql": "SELECT * FROM 'Buildings/#'") ausgelöst wird, können Sie die gleiche Regel mit Basic Ingest durch Senden einer Nachricht mit dem Thema $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights auslösen.

Beachten Sie dabei Folgendes:

  • Ihre Geräte und Regeln können keine reservierten Basic Ingest-Themen abonnieren. (Vgl. Reservierte Topics für Einzelheiten.)

  • Wenn Sie einen Broker für Veröffentlichungen/Abonnements zum Verteilen von Nachrichten an mehrere Abonnenten (z. B. zum Senden von Nachrichten an andere Geräte sowie die Rules Engine) verwenden, sollten Sie weiterhin den AWS IoT Message Broker für die Nachrichtenverteilung verwenden. Veröffentlichen Sie einfach Ihre Nachrichten auf anderen Themen als Basic Ingest-Themen.

So verwenden Sie Basic Ingest:

Stellen Sie sicher, dass Ihr Gerät oder Anwendung eine Richtlinie verwendet, die zum Veröffentlichen auf $aws/rules/* berechtigt ist. Sie können auch Berechtigungen für einzelne Regeln mit $aws/rules/rule-name/* in der Richtlinie angeben. Andernfalls können Ihre Geräte und Anwendungen weiterhin ihre bestehenden Verbindungen mit AWS IoT Core nutzen.

Wenn die Nachricht die Regeln-Engine erreicht, besteht kein Unterschied hinsichtlich des Umgangs mit Fehlern zwischen von Basic Ingest und von Message Broker-Abonnements ausgelösten Regeln.

Sie können natürlich Regeln für die Verwendung mit Basic Ingest erstellen. Beachten Sie Folgendes:

  • Das erste Präfix eines Basic Ingest-Themas ($aws/rules/rule-name) ist für die topic(Decimal)-Funktion nicht verfügbar.

  • Wenn Sie eine Regel definieren, die nur mit Basic Ingest ausgelöst wird, ist die FROM-Klausel im sql-Feld der rule-Definition optional. Sie ist weiterhin erforderlich, wenn die Regel auch von anderen Regeln ausgelöst wird, die über den Message Broker gesendet werden müssen (etwa weil diese anderen Nachrichten an mehrere Abonnenten verteilt werden müssen). Siehe AWS IoT-SQL-Referenz.

  • Die ersten drei Ebenen des Basic Ingest-Themas ($aws/rules/rule-name) zählen nicht für die Längenbeschränkung von acht Segmenten oder von 256 Zeichen für ein Thema. Davon abgesehen gelten die gleichen Einschränkungen, wie in AWS IoT-Einschränkungen dokumentiert.

  • Wenn eine Nachricht mit einem Basic Ingest-Thema empfangen wird, das eine in aktive oder nicht existente Rolle angibt, wird in einem CloudWatch-Protokoll ein Fehlerprotokoll erstellt, das Sie beim Debugging unterstützt (Vgl. Protokolle der Regel-Engine). Es wird eine „RuleNotFound“-Metrik angezeigt, und Sie können dafür Alarme erstellen. Weitere Informationen finden Sie unter „Regelmetriken“ in AWS IoT-Metriken.

  • Sie können nach wie vor mit QoS 1 auf Basic Ingest-Themen veröffentlichen. Sie erhalten eine PUBACK, sobald die Nachricht erfolgreich an die Regeln-Engine übergeben wurde. Der Empfang einer PUBACK bedeutet nicht, dass Ihre Regelaktionen erfolgreich abgeschlossen wurden. Sie können eine Fehleraktion konfigurieren, um mit Fehlern bei der Ausführung der Aktion umzugehen. Siehe Fehlerbehandlung (Fehleraktionen).

Auf dieser Seite: