CloudWatch Logs - AWS IoT Core

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.

CloudWatch Logs

Die Aktion CloudWatch Logs (cloudwatchLogs) sendet Daten an Amazon CloudWatch Logs. Sie können batchMode verwenden, um mehrere Geräteprotokolldatensätze in einer Nachricht hochzuladen und mit einem Zeitstempel zu versehen. Sie können auch die Protokollgruppe angeben, an die die Aktion Daten sendet.

Voraussetzungen

Diese Regelaktion hat die folgenden Anforderungen:

  • Eine IAM-Rolle, die die Ausführung der logs:PutLogEvents Operationen logs:CreateLogStreamlogs:DescribeLogStreams, und übernehmen AWS IoT kann. Weitere Informationen finden Sie unter Gewähren Sie einer AWS IoT Regel den Zugriff, den sie benötigt.

    In der AWS IoT Konsole können Sie eine Rolle auswählen oder erstellen, um die Ausführung dieser Regelaktion AWS IoT zu ermöglichen.

  • Wenn Sie einen vom Kunden verwalteten AWS KMS key KMS-Schlüssel verwenden, um Protokolldaten in CloudWatch Logs zu verschlüsseln, muss der Dienst die Erlaubnis haben, den KMS-Schlüssel im Namen des Anrufers zu verwenden. Weitere Informationen finden Sie unter Verschlüsseln von Protokolldaten in CloudWatch Logs using AWS KMS im Amazon CloudWatch Logs-Benutzerhandbuch.

Anforderungen an das MQTT-Nachrichtenformat für batchMode

Wenn Sie die Regelaktion „ CloudWatch Logs“ bei batchMode ausgeschalteter Option verwenden, gibt es keine Anforderungen an die Formatierung von MQTT-Nachrichten. (Hinweis: Der Standardwert des batchMode Parameters ist false.) Wenn Sie jedoch die Regelaktion CloudWatch Logs mit batchMode aktivierter Option verwenden (der Parameterwert isttrue), müssen MQTT-Nachrichten, die geräteseitige Logs enthalten, so formatiert werden, dass sie einen Zeitstempel und eine Nachrichten-Payload enthalten. Hinweis: timestamp stellt den Zeitpunkt dar, zu dem das Ereignis eingetreten ist, und wird als Anzahl der Millisekunden nach dem 1. Januar 1970 00:00:00 UTC ausgedrückt.

Nachfolgend sehen Sie ein Beispiel des Veröffentlichungsformats:

[ {"timestamp": 1673520691093, "message": "Test message 1"}, {"timestamp": 1673520692879, "message": "Test message 2"}, {"timestamp": 1673520693442, "message": "Test message 3"} ]

Je nachdem, wie die geräteseitigen Protokolle generiert werden, müssen sie möglicherweise gefiltert und neu formatiert werden, bevor sie gesendet werden, um diese Anforderung zu erfüllen. Weitere Informationen finden Sie unter MQTT-Nachrichtennutzlast.

Unabhängig vom batchMode Parameter muss der message Inhalt den Größenbeschränkungen für Nachrichten entsprechen. AWS IoT Weitere Informationen finden Sie unter AWS IoT Core Endpunkte und -Kontingente.

Parameter

Wenn Sie mit dieser Aktion eine AWS IoT Regel erstellen, müssen Sie die folgenden Informationen angeben:

logGroupName

Die CloudWatch Protokollgruppe, in die die Aktion Daten sendet.

Unterstützt Ersatzvorlagen: API und nur AWS CLI

roleArn

Die IAM-Rolle, die den Zugriff auf die CloudWatch Protokollgruppe ermöglicht. Weitere Informationen finden Sie unter Voraussetzungen.

Unterstützt Ersatzvorlagen: Nein

(Optional) batchMode

Gibt an, ob Stapel von Protokolldatensätzen extrahiert und in diese hochgeladen werden. CloudWatch Zu den Werten gehört true oder false (Standard). Weitere Informationen finden Sie unter Voraussetzungen.

Unterstützt Ersatzvorlagen: Nein

Beispiele

Das folgende JSON-Beispiel definiert eine CloudWatch Logs-Aktion in einer AWS IoT Regel.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "cloudwatchLogs": { "logGroupName": "IotLogs", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_cw", "batchMode": false } } ] } }

Weitere Informationen finden Sie auch unter