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.
Erstellen einer AWS IoT Regel
Sie können AWS IoT Regeln erstellen, um Daten von Ihren verbundenen Geräten zur Interaktion mit anderen AWS Diensten weiterzuleiten. Eine AWS IoT Regel besteht aus den folgenden Komponenten:
| Komponente | Description | Erforderlich oder optional |
|---|---|---|
| Regelname |
Der Name der Regel. Beachten Sie, dass wir die Verwendung personenbezogener Daten in Ihren Regelnamen nicht empfehlen. |
Erforderlich |
| Regelbeschreibung |
Eine Textbeschreibung 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-Topic empfangen wurden, und zum Übertragen der Daten per Push an einen anderen Speicherort. Weitere Informationen finden Sie unter AWS IoT SQL-Referenz. |
Erforderlich |
| SQL-Version |
Die Version der SQL-Regel-Engine, die beim Auswerten der Regel verwendet wird. Obwohl diese Eigenschaft optional ist, empfehlen wir dringend, dass Sie die SQL-Version angeben. Die AWS IoT Core Konsole setzt diese Eigenschaft |
Erforderlich |
| Eine oder mehrere Aktionen | Die Aktionen werden AWS IoT beim Erlass der Regel ausgeführt. Sie können beispielsweise Daten in eine DynamoDB-Tabelle einfügen, Daten zu einem Amazon-S3-Bucket schreiben, Daten in einem Amazon-SNS-Thema veröffentlichen oder eine Lambda-Funktion aufrufen. | Erforderlich |
| Eine Fehleraktion | Die Aktion AWS IoT wird 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 übernimmt diese Rolle bei der Implementierung einer Regel. 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. Wir empfehlen, Platzhaltermuster in Regeln für die Wiederveröffentlichung zu vermeiden, um eine doppelte Verarbeitung zu verhindern und die Kosten zu senken.
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.
Erstellen Sie eine Regel (Konsole)
Um eine Regel zu erstellen (AWS-Managementkonsole)
Verwenden Sie den AWS-Managementkonsole
-
Öffnen Sie die AWS IoT -Konsole
. -
Wählen Sie in der linken Navigationsleiste im Abschnitt 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. Die Regelbeschreibung und die Tags sind optional. Wählen Sie Weiter aus.
-
Wählen Sie auf der Seite „SQL-Anweisung konfigurieren“ eine SQL-Version aus und geben Sie eine SQL-Anweisung ein. Ein Beispiel für eine SQL-Anweisung kann sein
SELECT temperature FROM 'iot/topic' WHERE temperature > 50. Weitere Informationen finden Sie unter SQL-Versionen und AWS IoT SQL-Referenz. -
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 von Ihnen ausgewählten Regelaktion die zugehörigen 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, der zum Gruppieren von Daten nach Shard in einem Stream verwendet wird.
-
Wählen oder erstellen Sie unter IAM-Rolle 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-ruleunder 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 Fehleraktion 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 aus.
-
-
Überprüfen Sie auf der Seite Überprüfen und erstellen die gesamte Konfiguration und nehmen Sie bei Bedarf Änderungen vor. Wählen Sie 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, eine Regel bearbeiten, eine Regel deaktivieren und eine Regel löschen können.
Eine Regel erstellen (CLI)
Um eine Regel zu erstellen (AWS CLI)
Verwenden Sie den Befehl create-topic-rule zum Erstellen einer Regel:
aws iot create-topic-rule --rule-namemyrule--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 der Rollen-ARN erteilt 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 der Rollen-ARN gewährt die AWS IoT Berechtigung, in den Amazon 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 Nutzlastdatei mit einer Regel, die Daten an Amazon OpenSearch Service weiterleitet:
{ "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 Nutzlastdatei mit einer Regel, die in einem Amazon SNS-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 Nutzlastdatei mit einer Regel, die in einem anderen MQTT-Topic erneut veröffentlicht:
{ "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 Nutzlastdatei mit einer Regel, die Daten an einen Amazon Data Firehose-Stream ü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 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" } } ] }