

Pour des fonctionnalités similaires à celles d'Amazon Timestream pour, pensez à Amazon Timestream LiveAnalytics pour InfluxDB. Il permet une ingestion simplifiée des données et des temps de réponse aux requêtes à un chiffre en millisecondes pour des analyses en temps réel. Pour en savoir plus, [cliquez ici](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

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.

# WriteRecords
<a name="API_WriteRecords"></a>

Vous permet d'écrire les données de vos séries chronologiques dans Timestream. Vous pouvez spécifier un point de données unique ou un lot de points de données à insérer dans le système. Timestream vous propose un schéma flexible qui détecte automatiquement les noms de colonnes et les types de données de vos tables Timestream en fonction des noms de dimension et des types de données des points de données que vous spécifiez lorsque vous appelez des écritures dans la base de données. 

Timestream prend en charge la cohérence éventuelle de la sémantique de lecture. Cela signifie que lorsque vous interrogez des données immédiatement après avoir écrit un lot de données dans Timestream, les résultats de la requête peuvent ne pas refléter les résultats d'une opération d'écriture récemment terminée. Les résultats peuvent également inclure des données périmées. Si vous répétez la requête après un court laps de temps, les résultats devraient renvoyer les données les plus récentes. [Des quotas de service s'appliquent](https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). 

Voir l'[exemple de code](https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.write.html) pour plus de détails.

 **Upserts** 

Vous pouvez utiliser le `Version` paramètre dans une `WriteRecords` demande pour mettre à jour des points de données. Timestream enregistre un numéro de version pour chaque enregistrement. `Version`par défaut, c'est `1` quand il n'est pas spécifié pour l'enregistrement dans la demande. Timestream met à jour la valeur de mesure d'un enregistrement existant ainsi que sa valeur `Version` lorsqu'il reçoit une demande d'écriture avec un `Version` nombre plus élevé pour cet enregistrement. Lorsqu'il reçoit une demande de mise à jour dont la valeur de mesure est identique à celle de l'enregistrement existant, Timestream est toujours mis à jour`Version`, si elle est supérieure à la valeur existante de. `Version` Vous pouvez mettre à jour un point de données autant de fois que vous le souhaitez, à condition que la valeur de augmente `Version` continuellement. 

 Supposons, par exemple, que vous écriviez un nouvel enregistrement sans l'indiquer `Version` dans la demande. Timestream enregistre cet enregistrement et le définit sur`Version`. `1` Supposons maintenant que vous essayiez de mettre à jour cet enregistrement avec une `WriteRecords` demande du même enregistrement avec une valeur de mesure différente mais que, comme auparavant, vous ne la fournissez pas`Version`. Dans ce cas, Timestream rejettera cette mise à jour avec un `RejectedRecordsException` car la version de l'enregistrement mis à jour n'est pas supérieure à la valeur existante de Version. 

Toutefois, si vous renvoyez la demande de mise à jour avec `Version` défini sur`2`, Timestream réussirait alors à mettre à jour la valeur de l'enregistrement, qui `Version` serait définie sur. `2` Supposons ensuite que vous ayez envoyé une `WriteRecords` demande avec le même enregistrement et une valeur de mesure identique, mais avec la valeur `Version` définie sur`3`. Dans ce cas, Timestream sera uniquement mis à jour `Version` vers. `3` Toute mise à jour ultérieure devra envoyer un numéro de version supérieur à`3`, sinon les demandes de mise à jour recevront un`RejectedRecordsException`. 

## Syntaxe de la requête
<a name="API_WriteRecords_RequestSyntax"></a>

```
{
   "CommonAttributes": { 
      "Dimensions": [ 
         { 
            "DimensionValueType": "string",
            "Name": "string",
            "Value": "string"
         }
      ],
      "MeasureName": "string",
      "MeasureValue": "string",
      "MeasureValues": [ 
         { 
            "Name": "string",
            "Type": "string",
            "Value": "string"
         }
      ],
      "MeasureValueType": "string",
      "Time": "string",
      "TimeUnit": "string",
      "Version": number
   },
   "DatabaseName": "string",
   "Records": [ 
      { 
         "Dimensions": [ 
            { 
               "DimensionValueType": "string",
               "Name": "string",
               "Value": "string"
            }
         ],
         "MeasureName": "string",
         "MeasureValue": "string",
         "MeasureValues": [ 
            { 
               "Name": "string",
               "Type": "string",
               "Value": "string"
            }
         ],
         "MeasureValueType": "string",
         "Time": "string",
         "TimeUnit": "string",
         "Version": number
      }
   ],
   "TableName": "string"
}
```

## Paramètres de demande
<a name="API_WriteRecords_RequestParameters"></a>

Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez [Paramètres courants](CommonParameters.md).

Cette demande accepte les données suivantes au format JSON.

 ** [CommonAttributes](#API_WriteRecords_RequestSyntax) **   <a name="timestream-WriteRecords-request-CommonAttributes"></a>
Un enregistrement qui contient les attributs communs de mesure, de dimension, de temps et de version partagés entre tous les enregistrements de la demande. Les attributs de mesure et de dimension spécifiés seront fusionnés avec les attributs de mesure et de dimension dans l'objet records lorsque les données seront écrites dans Timestream. Les dimensions peuvent ne pas se chevaucher, sinon un `ValidationException` sera projeté. En d'autres termes, un enregistrement doit contenir des dimensions portant des noms uniques.   
Type : objet [Record](API_Record.md)  
Obligatoire : non

 ** [DatabaseName](#API_WriteRecords_RequestSyntax) **   <a name="timestream-WriteRecords-request-DatabaseName"></a>
Nom de la base de données Timestream.  
Type : Chaîne  
Contraintes de longueur : Longueur minimum de 3. Longueur maximale de 256.  
Obligatoire : oui

 ** [Records](#API_WriteRecords_RequestSyntax) **   <a name="timestream-WriteRecords-request-Records"></a>
Tableau d'enregistrements contenant les attributs uniques de mesure, de dimension, de temps et de version pour chaque point de données de série chronologique.  
Type : tableau d’objets [Record](API_Record.md)  
Membres du tableau : Nombre minimum de 1 élément. Nombre maximal de 100 éléments.  
Obligatoire : oui

 ** [TableName](#API_WriteRecords_RequestSyntax) **   <a name="timestream-WriteRecords-request-TableName"></a>
Nom de la table Timestream.  
Type : Chaîne  
Contraintes de longueur : Longueur minimum de 3. Longueur maximale de 256.  
Obligatoire : oui

## Syntaxe de la réponse
<a name="API_WriteRecords_ResponseSyntax"></a>

```
{
   "RecordsIngested": { 
      "MagneticStore": number,
      "MemoryStore": number,
      "Total": number
   }
}
```

## Eléments de réponse
<a name="API_WriteRecords_ResponseElements"></a>

Si l’action aboutit, le service renvoie une réponse HTTP 200.

Les données suivantes sont renvoyées au format JSON par le service.

 ** [RecordsIngested](#API_WriteRecords_ResponseSyntax) **   <a name="timestream-WriteRecords-response-RecordsIngested"></a>
Informations sur les enregistrements ingérés par cette demande.  
Type : objet [RecordsIngested](API_RecordsIngested.md)

## Erreurs
<a name="API_WriteRecords_Errors"></a>

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez [Erreurs courantes](CommonErrors.md).

 ** AccessDeniedException **   
Vous n'êtes pas autorisé à effectuer cette action.  
Code d’état HTTP : 400

 ** InternalServerException **   
 Timestream n'a pas pu traiter complètement cette demande en raison d'une erreur interne du serveur.  
Code d’état HTTP : 500

 ** InvalidEndpointException **   
Le point de terminaison demandé n'était pas valide.  
Code d’état HTTP : 400

 ** RejectedRecordsException **   
 WriteRecords déclencherait cette exception dans les cas suivants :   
+ Enregistrements contenant des données dupliquées contenant plusieurs enregistrements ayant les mêmes dimensions, horodatages et noms de mesures, mais : 
  + Les valeurs de mesure sont différentes
  + La version n'est pas présente dans la demande *ou* la valeur de la version dans le nouvel enregistrement est égale ou inférieure à la valeur existante

   Dans ce cas, si Timestream rejette les données, le `ExistingVersion` champ de `RejectedRecords` réponse indiquera la version de l'enregistrement en cours. Pour forcer une mise à jour, vous pouvez renvoyer la demande avec une version de l'enregistrement définie sur une valeur supérieure à. `ExistingVersion`
+  Enregistrements dont l'horodatage se situe en dehors de la durée de conservation de la mémoire. 
+  Enregistrements dont les dimensions ou les mesures dépassent les limites définies par Timestream. 
 Pour plus d'informations, consultez la section [Quotas](https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html) dans le guide du développeur Amazon Timestream.     
 ** RejectedRecords **   
 
Code d’état HTTP : 400

 ** ResourceNotFoundException **   
L'opération a tenté d'accéder à une ressource inexistante. La ressource n'est peut-être pas spécifiée correctement ou son statut n'est peut-être pas ACTIF.  
Code d’état HTTP : 400

 ** ThrottlingException **   
 Trop de demandes ont été effectuées par un utilisateur et elles ont dépassé les quotas de service. La demande a été limitée.  
Code d’état HTTP : 400

 ** ValidationException **   
 Une demande non valide ou mal formée.  
Code d’état HTTP : 400

## Voir aussi
<a name="API_WriteRecords_SeeAlso"></a>

Pour plus d'informations sur l'utilisation de cette API dans l'un des langages spécifiques AWS SDKs, consultez ce qui suit :
+  [AWS Interface de ligne de commande V2](https://docs.aws.amazon.com/goto/cli2/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour Python](https://docs.aws.amazon.com/goto/boto3/timestream-write-2018-11-01/WriteRecords) 
+  [AWS SDK pour Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/timestream-write-2018-11-01/WriteRecords) 