View a markdown version of this page

CloudWatch Log - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CloudWatch Log

L'azione CloudWatch Logs (cloudwatchLogs) invia dati ad Amazon CloudWatch Logs. Puoi utilizzare batchMode per caricare e indicare data e ora di più record di log del dispositivo in un unico messaggio. Puoi anche specificare il gruppo di log in cui l'azione invia i dati.

Requisiti

Questa operazione della regola presenta i seguenti requisiti:

  • Un ruolo IAM che AWS IoT può assumere l'esecuzione logs:PutLogEvents delle operazioni logs:CreateLogStreamlogs:DescribeLogStreams, e. Per ulteriori informazioni, consulta Concessione di un AWS IoT regola l'accesso che richiede.

    Nella AWS IoT console, puoi scegliere o creare un ruolo per consentire l'esecuzione AWS IoT di questa azione basata sulla regola.

  • Se utilizzi una chiave KMS gestita AWS KMS key dal cliente per crittografare i dati di registro in CloudWatch Logs, il servizio deve disporre dell'autorizzazione per utilizzare la chiave KMS per conto del chiamante. Per ulteriori informazioni, consulta Encrypt log data in Logs using nella Amazon CloudWatch Logs User AWS KMS Guide. CloudWatch

Requisiti del formato dei messaggi MQTT per BatchMode

Se si utilizza l'azione CloudWatch Logs rule con batchMode disattivata, non ci sono requisiti di formattazione dei messaggi MQTT. Nota: il valore predefinito del parametro batchMode è false. Tuttavia, se si utilizza l'azione CloudWatch Logs rule con batchMode attivata (il valore del parametro ètrue), i messaggi MQTT contenenti i log sul dispositivo devono essere formattati in modo da contenere un timestamp e un payload dei messaggi. Nota: timestamp rappresenta l'ora in cui si è verificato l'evento ed è espressa come numero di millisecondi dopo le ore 00:00:00 UTC del 1° gennaio 1970.

Di seguito è riportato un esempio del formato di pubblicazione:

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

A seconda di come vengono generati i log lato dispositivo, potrebbe essere necessario filtrarli e riformattarli prima che vengano inviati per soddisfare questo requisito. Per ulteriori informazioni, consulta Payload del messaggio MQTT.

Indipendentemente dal batchMode parametro, i contenuti devono rispettare i limiti di dimensione dei messaggi. message AWS IoT Per ulteriori informazioni, consulta Endpoint e quote per AWS IoT Core.

Parameters

Quando si crea una AWS IoT regola con questa azione, è necessario specificare le seguenti informazioni:

logGroupName

Il gruppo di CloudWatch log in cui l'azione invia i dati.

Supporta i modelli di sostituzione: API e solo AWS CLI

roleArn

Il ruolo IAM che consente l'accesso al gruppo di CloudWatch log. Per ulteriori informazioni, consulta Requisiti.

Supporta modelli di sostituzione: no

batchMode (facoltativo)

Indica se verranno estratti e caricati batch di record di registro. CloudWatch I valori includono true o false (impostazione predefinita). Per ulteriori informazioni, consulta Requisiti.

Supporta modelli di sostituzione: no

Esempi

L'esempio JSON seguente definisce un'azione CloudWatch Logs in una regola. AWS IoT

{ "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 } } ] } }

Consulta anche