Firehose - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Firehose

L'action Firehose (firehose) envoie les données d'un message MQTT vers un flux Amazon Data Firehose.

Prérequis

Cette action réglementaire est assortie des exigences suivantes :

  • Rôle IAM qui AWS IoT peut assumer la réalisation de l'firehose:PutRecordopération. Pour plus d’informations, consultez Accorder à une AWS IoT règle l'accès dont elle a besoin.

    Dans la AWS IoT console, vous pouvez choisir ou créer un rôle pour autoriser l'exécution AWS IoT de cette action de règle.

  • Si vous utilisez Firehose pour envoyer des données vers un compartiment Amazon S3 et que vous utilisez un AWS KMS client géré AWS KMS key pour chiffrer les données au repos dans Amazon S3, Firehose doit avoir accès à votre compartiment et être autorisé à l'utiliser au nom de l'appelant AWS KMS key . Pour plus d'informations, consultez Accorder à Firehose l'accès à une destination Amazon S3 dans le manuel Amazon Data Firehose Developer Guide.

Paramètres

Lorsque vous créez une AWS IoT règle avec cette action, vous devez spécifier les informations suivantes :

batchMode

(Facultatif) S'il faut fournir le flux Firehose sous forme de lot en utilisant. PutRecordBatch La valeur par défaut est false.

Quand batchMode est true et que l'instruction SQL de la règle est évaluée dans un tableau, chaque élément du tableau forme un enregistrement dans la demande PutRecordBatch. Le tableau résultant ne peut pas contenir plus de 500 enregistrements.

Prend en charge les modèles de substitution : Non

deliveryStreamName

Le flux Firehose dans lequel les données du message doivent être écrites.

Supporte les modèles de substitution : API et AWS CLI uniquement

separator

(Facultatif) Séparateur de caractères utilisé pour séparer les enregistrements écrits dans le flux Firehose. Si vous omettez ce paramètre, le flux n'utilise aucun séparateur. Valeurs valides : , (virgule), \t (tab), \n (nouvelle ligne), \r\n (nouvelle ligne Windows).

Prend en charge les modèles de substitution : Non

roleArn

Rôle IAM qui permet d'accéder au flux Firehose. Pour plus d’informations, consultez Prérequis.

Prend en charge les modèles de substitution : Non

Exemples

L'exemple JSON suivant définit une action Firehose dans une AWS IoT règle.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "deliveryStreamName": "my_firehose_stream", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_firehose" } } ] } }

L'exemple JSON suivant définit une action Firehose avec des modèles de substitution dans une AWS IoT règle.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "deliveryStreamName": "${topic()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_firehose" } } ] } }

Consultez aussi