Timestream - 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.

Timestream

L'action de règle Timestream écrit les attributs (mesures) d'un message MQTT dans une table Amazon Timestream. Pour plus d'informations sur Amazon Timestream, veuillez consulter Qu'est-ce qu'Amazon Timestream ?.

Note

Amazon Timestream n'est pas disponible dans tous les s. Région AWS Si Amazon Timestream n'est pas disponible dans votre région, il n'apparaîtra pas dans la liste des actions relatives aux règles.

Les attributs que cette règle stocke dans la base de données Timestream sont ceux qui résultent de l'instruction de requête de la règle. La valeur de chaque attribut dans le résultat de l'instruction de requête est analysée pour en déduire le type de données (comme dans le cas d'une DynamoDBv2 action). La valeur de chaque attribut est écrite dans son propre enregistrement dans la table Timestream. Pour spécifier ou modifier le type de données d'un attribut, utilisez la cast()fonction contenue dans l'instruction de requête. Pour de plus amples informations sur le contenu de chaque enregistrement Timestream, veuillez consulter. Contenu d'un enregistrement Timestream

Note

Avec SQL V2 (2016-03-23), les valeurs numériques qui sont des nombres entiers, telles que10.0, sont converties en leur représentation entière (). 10 Leur conversion explicite en une Decimal valeur, par exemple en utilisant la fonction cast (), n'empêche pas ce comportement : le résultat reste une Integer valeur. Cela peut provoquer des erreurs de non-concordance de type qui empêchent l'enregistrement des données dans la base de données Timestream. Pour traiter des valeurs numériques entières en tant que Decimal valeurs, utilisez SQL V1 (08/10/2015) pour l'instruction de requête de règle.

Note

Le nombre maximum de valeurs qu'une action de règle Timestream peut écrire dans une table Amazon Timestream est de 100. Pour de plus amples informations, veuillez consulter la Référence d'Amazon Timestream Quota.

Prérequis

Cette action réglementaire est assortie des exigences suivantes :

  • Rôle IAM qui AWS IoT peut assumer l'exécution des timestream:WriteRecords opérations timestream:DescribeEndpoints et. 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, mettre à jour ou créer un rôle AWS IoT pour autoriser l'exécution de cette action de règle.

  • Si vous utilisez un client AWS KMS pour chiffrer des données inactives dans Timestream, le service doit être autorisé à les utiliser au nom de l'appelant. AWS KMS key Pour plus d'informations, consultez Comment les AWS services utilisent AWS KMS.

Paramètres

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

databaseName

Nom d'une base de données Amazon Timestream qui possède la table destinée à recevoir les enregistrements créés par cette action. Voir aussi tableName.

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

dimensions

Attributs de métadonnées de la série chronologique qui sont écrits dans chaque enregistrement de mesure. Par exemple, le nom et la zone de disponibilité d'une instance EC2 ou le nom du fabricant d'une éolienne sont des dimensions.

name

Nom de la dimension de métadonnées. Il s'agit du nom de la colonne dans l'enregistrement de table de base de données.

Les dimensions ne peuvent pas être nommées : measure_namemeasure_value, outime. Ces alias sont réservés. Les noms de dimension ne peuvent pas commencer par ts_ ou measure_value ne peuvent pas contenir le caractère deux-points (:).

Prend en charge les modèles de substitution : Non

value

Valeur à écrire dans cette colonne de l'enregistrement de base de données.

Prend en charge les modèles de substitution : Oui

roleArn

L'Amazon Resource Name (ARN) du rôle qui accorde à AWS IoT l'autorisation d'écrire dans la table de la base de données Timestream. Pour plus d’informations, consultez Prérequis.

Prend en charge les modèles de substitution : Non

tableName

Nom de la table de la base de données dans laquelle les enregistrements de la mesure doivent être inscrits. Voir aussi databaseName.

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

timestamp

Valeur à utiliser pour l'horodatage de l'entrée. Si le champ est vide, l'heure à laquelle l'entrée a été traitée est utilisée.

unit

Précision de la valeur d'horodatage résultant de l'expression décrite à la section value.

Valeurs valides: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS L’argument par défaut est MILLISECONDS.

value

Expression qui renvoie une valeur temporelle de longue époque.

Vous pouvez utiliser cette time_to_epoch (Chaîne, Chaîne) fonction pour créer un horodatage valide à partir d'une valeur de date ou d'heure transmise dans la charge utile du message.

Contenu d'un enregistrement Timestream

Les données écrites dans la table Amazon Timestream par cette action incluent un horodatage, les métadonnées de l'action de règle Timestream et le résultat de l'instruction de requête de la règle.

Pour chaque attribut (mesure) du résultat de l'instruction de requête, cette action de règle écrit un enregistrement dans la table Timestream spécifiée avec ces colonnes.

Nom de la colonne

Type d’attribut

Valeur

Commentaires

nom-dimension

DIMENSION

La valeur spécifiée dans l'entrée d'action de la règle Timestream.

Chaque dimension spécifiée dans l'entrée d'action de règle crée une colonne dans la base de données Timestream avec le nom de la dimension.

nom_mesure

NOM_MESURE

Le nom de l'attribut

Nom de l'attribut figurant dans le résultat de l'instruction de requête dont la valeur est spécifiée dans la measure_value::data-type colonne.

value_mesure : type de données

VALEUR_MESURE

La valeur de l'attribut dans le résultat de l'instruction de requête. Le nom de l'attribut figure dans la measure_name colonne.

La valeur est interprétée* et définie comme la correspondance la plus appropriée entre :bigint, booleandouble, ou. varchar Amazon Timestream crée une colonne distincte pour chaque type de données. La valeur du message peut être convertie en un autre type de données à l'aide de la cast()fonction contenue dans l'instruction de requête de la règle.

time

TIMESTAMP

Date et heure de l'enregistrement dans la base de données.

Cette valeur est attribuée par le moteur de règles ou par la timestamp propriété, si elle est définie.

* La valeur d'attribut lue à partir de la charge utile du message est interprétée comme suit. Voir le Exemples pour une illustration de chacun de ces cas.

  • Une valeur sans guillemets de true ou false est interprétée comme un boolean type.

  • Un nombre décimal est interprété comme un double type.

  • Une valeur numérique sans point décimal est interprétée comme un bigint type.

  • Une chaîne entre guillemets est interprétée comme un varchar type.

  • Les objets et les valeurs des tableaux sont convertis en chaînes JSON et stockés sous forme varchar de type.

Exemples

L'exemple JSON suivant définit une action de règle Timestream avec un modèle de substitution dans une AWS IoT règle.

{ "topicRulePayload": { "sql": "SELECT * FROM 'iot/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "timestream": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_timestream", "tableName": "devices_metrics", "dimensions": [ { "name": "device_id", "value": "${clientId()}" }, { "name": "device_firmware_sku", "value": "My Static Metadata" } ], "databaseName": "record_devices" } } ] } }

L'utilisation de l'action de règle de rubrique Timestream définie dans l'exemple précédent avec la charge utile des messages suivante entraîne l'écriture des enregistrements Amazon Timestream dans le tableau ci-dessous.

{ "boolean_value": true, "integer_value": 123456789012, "double_value": 123.456789012, "string_value": "String value", "boolean_value_as_string": "true", "integer_value_as_string": "123456789012", "double_value_as_string": "123.456789012", "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"], "complex_value": { "simple_element": 42, "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"] } }

Le tableau suivant affiche les colonnes et les enregistrements de base de données créés à l'aide de l'action de règle de rubrique spécifiée pour traiter la charge utile du message précédent. Les device_id colonnes device_firmware_sku et sont les DIMENSIONS définies dans l'action de règle du sujet. L'action de règle de sujet Timestream crée la time colonne et les measure_value::* colonnes measure_name et, qu'elle remplit avec les valeurs issues du résultat de l'instruction de requête de l'action de règle de sujet.

device_firmware_sku device_id nom_mesure value_mesure : :bigint valeur_mesure : varchar valeur_mesure : double value_mesure : :booléen time
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_complexe - {"simple_element » :42, « array_of_integers » : [23,36,56,72], « tableau de chaînes » : ["rouge », « vert », « bleu"]} - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_entière en tant que chaîne - 123456789012 - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_booléenne - - - TRUE 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_entière 123456789012 - - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_chaîne - Valeur de chaîne - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 tableau d'entiers - [23,36,56,72] - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 tableau de chaînes - ["rouge », « vert », « bleu"] - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_booléenne en tant que chaîne - TRUE - - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 valeur_double - - 123,456789012 - 26-08-2020- 22:42:16.423000000
Mes métadonnées statiques Console IoT - 159 Exemple 738-0 double_value_as_string - 123,45679 - - 26-08-2020- 22:42:16.423000000