

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
<a name="timestream-rule-action"></a>

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 ?](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html).

**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 [Dynamo DBv2](dynamodb-v2-rule-action.md) 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()`](iot-sql-functions.md#iot-sql-function-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](#timestream-rule-action-data)

**Note**  
Avec SQL V2 (2016-03-23), les valeurs numériques qui sont des nombres entiers, telles que`10.0`, sont converties en leur représentation entière (). `10` Leur conversion explicite en une `Decimal` valeur, par exemple en utilisant la fonction [cast ()](iot-sql-functions.md#iot-sql-function-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](https://docs.aws.amazon.com//timestream/latest/developerguide/ts-limits.html#limits.default). 

## Exigences
<a name="timestream-rule-action-requirements"></a>

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 de plus amples informations, veuillez consulter [Accorder à une AWS IoT règle l'accès dont elle a besoin](iot-create-role.md).

  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](https://docs.aws.amazon.com/kms/latest/developerguide/service-integration.html).

## Parameters
<a name="timestream-rule-action-parameters"></a>

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. Consultez également `tableName`.  
Supporte les [modèles de substitution](iot-substitution-templates.md) : 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_name``measure_value`, ou`time`. 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](iot-substitution-templates.md) : Non  
`value`  
Valeur à écrire dans cette colonne de l'enregistrement de base de données.  
Prend en charge les [modèles de substitution](iot-substitution-templates.md) : 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 de plus amples informations, veuillez consulter [Exigences](#timestream-rule-action-requirements).  
Prend en charge les [modèles de substitution](iot-substitution-templates.md) : Non

`tableName`  
Nom de la table de la base de données dans laquelle les enregistrements de la mesure doivent être inscrits. Consultez également `databaseName`.  
Supporte les [modèles de substitution](iot-substitution-templates.md) : 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` \$1 `MILLISECONDS` \$1 `MICROSECONDS` \$1 `NANOSECONDS` La valeur par défaut est `MILLISECONDS`.  
`value`  
Expression qui renvoie une valeur temporelle de longue époque.  
Vous pouvez utiliser cette [time\$1to\$1epoch (Chaîne, Chaîne)](iot-sql-functions.md#iot-sql-function-time-to-epoch) 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
<a name="timestream-rule-action-data"></a>

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  |  Value  |  Commentaires  | 
| --- | --- | --- | --- | 
|  *dimension-name*  |  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\$1mesure  |  NOM\$1MESURE  |  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.  | 
|  valeur\$1mesure : *data-type*  |  VALEUR\$1MESURE  |  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\$1 et définie comme la correspondance la plus appropriée entre :`bigint`, `boolean``double`, 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()`](iot-sql-functions.md#iot-sql-function-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.  | 

\$1 La valeur d'attribut lue à partir de la charge utile du message est interprétée comme suit. Voir le [Exemples](#timestream-rule-action-examples) 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
<a name="timestream-rule-action-examples"></a>

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\$1firmware\$1sku | device\$1id | nom\$1mesure | value\$1mesure : :bigint | valeur\$1mesure : varchar | valeur\$1mesure : double | value\$1mesure : :booléen | time | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1complexe | - | \$1"simple\$1element » :42, « array\$1of\$1integers » : [23,36,56,72], « tableau de chaînes » : ["rouge », « vert », « bleu"]\$1 | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1entière en tant que chaîne | - | 123456789012 | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1booléenne | - | - | - | TRUE | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1entière | 123456789012 | - | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1chaîne | - | Valeur de chaîne | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | tableau d'entiers | - | [23,36,56,72] | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | tableau de chaînes | - | ["rouge », « vert », « bleu"] | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1booléenne en tant que chaîne | - | TRUE | - | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | console IoT 159 -0 EXAMPLE738 | valeur\$1double | - | - | 123,456789012 | - | 26-08-2020- 22:42:16.423000000 | 
| Mes métadonnées statiques | Iotconsole-159 -0 EXAMPLE738 | double\$1value\$1as\$1string | - | 123,45679 | - | - | 26-08-2020- 22:42:16.423000000 | 