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 der Message Broker für Veröffentlichungen/Abonnements aus dem Aufnahmepfad, damit Daten ökonomischer übertragen werden.

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 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 beispielsweise eine Regel mit dem Namen BuildingManager haben, die bei Nachrichten mit Themen wie Buildings/Building5/Floor2/Room201/Lights ("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. Weitere Informationen finden Sie unter Reservierte Topics.

  • 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 Regel-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 Regel-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). Weitere Informationen finden Sie unter 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 Amazon CloudWatch-Protokoll ein Fehlerprotokoll erstellt, das Sie beim Debugging unterstützt. Weitere Informationen finden Sie unter 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 Regel-Engine übergeben wurde. Der Empfang einer PUBACK-Nachricht 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: