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.
Eine AWS IoT Regel erstellen
Sie können AWS IoT Regeln erstellen, um Daten von Ihren verbundenen Geräten weiterzuleiten, um mit anderen AWS Diensten zu interagieren. Eine AWS IoT Regel besteht aus den folgenden Komponenten:
Komponente | Beschreibung | Erforderlich oder optional |
---|---|---|
Regelname |
Der Name der Regel. Beachten Sie, dass wir die Verwendung personenbezogener Daten in Ihren Regelnamen nicht empfehlen. |
Erforderlich |
Regelbeschreibung |
Ein Text mit einer Beschreibung der Regel Beachten Sie, dass wir die Verwendung personenbezogener Daten in Ihren Regelbeschreibungen nicht empfehlen. |
Optional. |
SQL-Anweisung |
Eine vereinfachte SQL Syntax zum Filtern von Nachrichten, die zu einem MQTT Thema eingegangen sind, und zum Weiterleiten der Daten an eine andere Stelle. Weitere Informationen finden Sie unter AWS IoT SQL-Referenz. |
Erforderlich |
SQL-Version |
Die Version der SQL Regel-Engine, die bei der Auswertung der Regel verwendet werden soll. Diese Eigenschaft ist zwar optional, es wird jedoch dringend empfohlen, die SQL Version anzugeben. Die AWS IoT Core Konsole legt diese Eigenschaft |
Erforderlich |
Eine oder mehrere Aktionen | Die Aktion wird AWS IoT ausgeführt, wenn die Regel in Kraft gesetzt wird. Sie können beispielsweise Daten in eine DynamoDB-Tabelle einfügen, Daten in einen Amazon S3 S3-Bucket schreiben, in einem SNS Amazon-Thema veröffentlichen oder eine Lambda-Funktion aufrufen. | Erforderlich |
Eine Fehleraktion | Die Aktion wird AWS IoT ausgeführt, wenn die Aktion einer Regel nicht ausgeführt werden kann. | Optional. |
Bevor Sie eine AWS IoT Regel erstellen, müssen Sie eine IAM Rolle mit einer Richtlinie erstellen, die den Zugriff auf die erforderlichen AWS Ressourcen ermöglicht. AWS IoT nimmt diese Rolle bei der Implementierung einer Regel an. Weitere Informationen finden Sie unter Einer AWS IoT Regel den erforderlichen Zugriff gewähren und Rollenberechtigungen weitergeben.
Beachten Sie beim Erstellen einer Regel, wie viele Daten Sie in Themen veröffentlichen. Wenn Sie Regeln erstellen, die ein Themenmuster mit Platzhaltern enthalten, stimmen diese möglicherweise mit einem großen Prozentsatz Ihrer Nachrichten überein. In diesem Fall müssen Sie möglicherweise die Kapazität der AWS Ressourcen erhöhen, die von den Zielaktionen verwendet werden. Wenn Sie eine Regel zum erneuten Veröffentlichen erstellen, die ein Platzhalter-Topic-Muster enthält, kann dies zu einer Zirkelregel führen, die eine Endlosschleife verursacht.
Anmerkung
Das Erstellen und Aktualisieren von Regeln sind Aktionen auf Administratorebene. Jeder Benutzer mit der Berechtigung zum Erstellen oder Aktualisieren von Regeln kann auf Daten zugreifen, die von den Regeln verarbeitet wurden.
Eine Regel erstellen (Konsole)
So erstellen Sie eine Regel (AWS Management Console)
Verwenden Sie den AWS Management Console
-
Öffnen Sie die AWS IoT -Konsole
. -
Wählen Sie in der linken Navigationsleiste im Bereich Verwalten die Option Nachrichtenweiterleitung aus. Wählen Sie dann Regeln aus.
-
Wählen Sie auf der Seite Regeln die Option Regel erstellen aus.
-
Geben Sie auf der Seite Regeleigenschaften angeben einen Namen für Ihre Regel ein. Regelbeschreibung und Tags sind optional. Wählen Sie Weiter.
-
Wählen Sie auf der Seite „SQLAnweisung konfigurieren“ eine SQL Version aus und geben Sie eine SQL Anweisung ein. Eine SQL Beispielanweisung kann sein
SELECT temperature FROM 'iot/topic' WHERE temperature > 50
. Weitere Informationen finden Sie unter SQLVersionen und AWS IoT SQLReferenz. -
Fügen Sie auf der Seite „Regelaktionen anhängen“ Regelaktionen hinzu, um Daten an andere AWS Dienste weiterzuleiten.
-
Wählen Sie unter Regelaktionen eine Regelaktion aus der Dropdownliste aus. Sie können beispielsweise Kinesis Stream wählen. Weitere Informationen zu Regelaktionen finden Sie unter AWS IoT Regelaktionen.
-
Geben Sie je nach der ausgewählten Regelaktion die entsprechenden Konfigurationsdetails ein. Wenn Sie sich beispielsweise für Kinesis Stream entscheiden, müssen Sie eine Datenstream-Ressource auswählen oder erstellen und optional Konfigurationsdetails wie den Partitionsschlüssel eingeben, mit dem Daten in einem Stream nach Shard gruppiert werden.
-
Wählen oder erstellen Sie unter IAMRolle eine Rolle, um AWS IoT Zugriff auf Ihren Endpunkt zu gewähren. Beachten Sie, dass dadurch AWS IoT automatisch eine Richtlinie mit dem Präfix
aws-iot-rule
unter Ihrer ausgewählten IAM Rolle erstellt wird. Sie können „Ansicht“ wählen, um Ihre IAM Rolle und die Richtlinie von der IAM Konsole aus anzuzeigen. Die Aktion „Fehler“ ist optional. Weitere Informationen finden Sie unter Fehlerbehandlung (Fehleraktion). Weitere Informationen zum Erstellen einer IAM Rolle für Ihre Regel finden Sie unter Gewähren Sie einer Regel den erforderlichen Zugriff. Wählen Sie Weiter.
-
-
Überprüfen Sie auf der Seite Überprüfen und erstellen die gesamte Konfiguration und nehmen Sie bei Bedarf Änderungen vor. Wählen Sie Create (Erstellen) aus.
Nachdem Sie eine Regel erfolgreich erstellt haben, wird die Regel auf der Seite Regeln aufgeführt. Sie können eine Regel auswählen, um die Detailseite zu öffnen, auf der Sie eine Regel anzeigen, bearbeiten, eine Regel deaktivieren und eine Regel löschen können.
Eine Regel erstellen (CLI)
So erstellen Sie eine Regel (AWS CLI)
Verwenden Sie den create-topic-ruleBefehl, um eine Regel zu erstellen:
aws iot create-topic-rule --rule-name
myrule
--topic-rule-payload file://myrule
.json
Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die alle an das iot/test
Thema gesendeten Nachrichten in die angegebene DynamoDB-Tabelle einfügt. Die SQL Anweisung filtert die Nachrichten und die Rolle ARN gewährt die AWS IoT Berechtigung, in die DynamoDB-Tabelle zu schreiben.
{ "sql": "SELECT * FROM 'iot/test'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "dynamoDB": { "tableName": "my-dynamodb-table", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role", "hashKeyField": "topic", "hashKeyValue": "${topic(2)}", "rangeKeyField": "timestamp", "rangeKeyValue": "${timestamp()}" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die alle an das iot/test
Thema gesendeten Nachrichten in den angegebenen S3-Bucket einfügt. Die SQL Anweisung filtert die Nachrichten und die Rolle ARN gewährt die AWS IoT Erlaubnis, in den Amazon S3 S3-Bucket zu schreiben.
{ "awsIotSqlVersion": "2016-03-23", "sql": "SELECT * FROM 'iot/test'", "ruleDisabled": false, "actions": [ { "s3": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_s3", "bucketName": "amzn-s3-demo-bucket", "key": "myS3Key" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Payload-Datei mit einer Regel, die Daten an Amazon OpenSearch Service überträgt:
{ "sql": "SELECT *, timestamp() as timestamp FROM 'iot/test'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "OpenSearch": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_es", "endpoint": "https://my-endpoint", "index": "my-index", "type": "my-type", "id": "${newuuid()}" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die eine Lambda-Funktion aufruft:
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "lambda": { "functionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Payload-Datei mit einer Regel, die zu einem SNS Amazon-Thema veröffentlicht:
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-west-2:123456789012:my-sns-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Payload-Datei mit einer Regel, die zu einem anderen Thema erneut veröffentlicht: MQTT
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Payload-Datei mit einer Regel, die Daten in einen Amazon Data Firehose überträgt:
{ "sql": "SELECT * FROM 'my-topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "roleArn": "arn:aws:iam::123456789012:role/my-iot-role", "deliveryStreamName": "my-stream-name" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Payload-Datei mit einer Regel, die die Amazon SageMaker machinelearning_predict
AI-Funktion verwendet, um erneut zu einem Thema zu veröffentlichen, wenn die Daten in der MQTT Payload als 1 klassifiziert sind.
{ "sql": "SELECT * FROM 'iot/test' where machinelearning_predict('my-model', 'arn:aws:iam::123456789012:role/my-iot-aml-role', *).predictedLabel=1", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "roleArn": "arn:aws:iam::123456789012:role/my-iot-role", "topic": "my-mqtt-topic" } } ] }
Es folgt ein Beispiel für eine Nutzlastdatei mit einer Regel, nach der Nachrichten in einem Salesforce IoT Cloud-Input-Stream veröffentlicht werden.
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "salesforce": { "token": "ABCDEFGHI123456789abcdefghi123456789", "url": "https://ingestion-cluster-id.my-env.sfdcnow.com/streams/stream-id/connection-id/my-event" } } ] }
Im Folgenden finden Sie ein Beispiel für eine Nutzlastdatei mit einer Regel, die eine Ausführung eines Step Functions-Zustandsautomaten startet.
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "stepFunctions": { "stateMachineName": "myCoolStateMachine", "executionNamePrefix": "coolRunning", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } } ] }