Amazon Timestream for LiveAnalytics と同様の機能については、Amazon Timestream for InfluxDB を検討してください。リアルタイム分析のために、簡略化されたデータ取り込みと 1 桁ミリ秒のクエリ応答時間を提供します。詳細については、こちらを参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
WriteRecords
Timestream に時系列データを書き込むことができます。システムに挿入する単一のデータポイントまたはデータポイントのバッチを指定できます。Timestream には、データベースへの書き込みを呼び出すときに指定したデータポイントのディメンション名とデータ型に基づいて、Timestream テーブルの列名とデータ型を自動検出する柔軟なスキーマが用意されています。
Timestream は、結果整合性の読み取りセマンティクスをサポートします。つまり、データのバッチを Timestream に書き込んだ直後にデータをクエリする場合、クエリ結果は最近完了した書き込みオペレーションの結果を反映していない可能性があります。結果には古いデータが含まれている場合もあります。短時間後にクエリリクエストを繰り返すと、結果は最新のデータを返します。サービスクォータが適用されます。
詳細については、 コードサンプルを参照してください。
アップサート
WriteRecords リクエストで Versionパラメータを使用して、データポイントを更新できます。Timestream は、各レコードのバージョン番号を追跡します。リクエストのレコードに指定されていない場合、 はVersionデフォルトで 1 になります。Timestream は、レコードVersionの数が多い書き込みリクエストVersionを受信すると、既存のレコードのメジャー値と のメジャー値を更新します。メジャー値が既存のレコードの値と同じである更新リクエストを受信すると、Timestream はVersion既存の値 より大きい場合でも を更新しますVersion。の値Versionを継続的に増やす限り、データポイントを必要な回数だけ更新できます。
 たとえば、リクエストVersionに を指定せずに新しいレコードを書き込むとします。Timestream はこのレコードを保存し、 Versionを に設定します1。ここで、このレコードを別のメジャー値を持つ同じレコードのWriteRecordsリクエストで更新しようとしたが、前のように を指定しないとしますVersion。この場合、更新されたレコードのバージョンが Version の既存の値以下RejectedRecordsExceptionであるため、Timestream はこの更新を で拒否します。
ただし、 を Versionに設定して更新リクエストを再送信すると2、Timestream はレコードの値の更新に成功し、 Versionは に設定されます2。次に、同じレコードと同じメジャー値で を Versionに設定してWriteRecordsリクエストを送信したとします3。この場合、Timestream は Version にのみ更新されます3。それ以降の更新では、 より大きいバージョン番号を送信する必要があります。送信しない場合3、更新リクエストは を受け取りますRejectedRecordsException。
リクエストの構文
{
   "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"
}リクエストパラメーター
すべてのアクションに共通のパラメータの詳細については、「共通パラメータ」を参照してください。
リクエストは以下のデータを JSON 形式で受け入れます。
- CommonAttributes
- 
               リクエスト内のすべてのレコードで共有される共通のメジャー、ディメンション、時間、バージョン属性を含むレコード。指定されたメジャー属性とディメンション属性は、データが Timestream に書き込まれるときに、レコードオブジェクトのメジャー属性とディメンション属性とマージされます。ディメンションが重複しないか、 ValidationExceptionがスローされます。つまり、レコードには一意の名前のディメンションが含まれている必要があります。型: Record オブジェクト 必須: いいえ 
- DatabaseName
- 
               Timestream データベースの名前。 タイプ: 文字列 長さの制約: 最小長は 3 です。最大長は 256 です。 必須: はい 
- Records
- 
               各時系列データポイントの一意のメジャー、ディメンション、時間、バージョン属性を含むレコードの配列。 型: Record オブジェクトの配列 配列メンバー: 最小数は 1 項目です。最大数は 100 項目です。 必須: はい 
- TableName
- 
               Timestream テーブルの名前。 タイプ: 文字列 長さの制約: 最小長は 3 です。最大長は 256 です。 必須: はい 
レスポンスの構文
{
   "RecordsIngested": { 
      "MagneticStore": number,
      "MemoryStore": number,
      "Total": number
   }
}レスポンス要素
アクションが成功すると、サービスは HTTP 200 レスポンスを返します。
サービスから以下のデータが JSON 形式で返されます。
- RecordsIngested
- 
               このリクエストによって取り込まれたレコードに関する情報。 型: RecordsIngested オブジェクト 
エラー
すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。
- AccessDeniedException
- 
               このアクションを実行する権限がありません。 HTTP ステータスコード: 400 
- InternalServerException
- 
               内部サーバーエラーのため、Timestream はこのリクエストを完全に処理できませんでした。 HTTP ステータスコード: 500 
- InvalidEndpointException
- 
               リクエストされたエンドポイントが無効です。 HTTP ステータスコード: 400 
- RejectedRecordsException
- 
               WriteRecords は、次の場合にこの例外をスローします。 - 
                     同じディメンション、タイムスタンプ、メジャー名を持つレコードが複数あるが、以下に該当する重複データを含むレコード。 - 
                           測定値が異なる 
- 
                           バージョンがリクエストに存在しないか、新しいレコードのバージョン の値が既存の値以下です 
 この場合、Timestream がデータを拒否すると、 RejectedRecordsレスポンスのExistingVersionフィールドには現在のレコードのバージョンが表示されます。更新を強制するには、レコードのバージョンを より大きい値に設定してリクエストを再送信できますExistingVersion。
- 
                           
- 
                     メモリストアの保持期間外のタイムスタンプを含むレコード。 
- 
                     Timestream で定義された制限を超えるディメンションまたはメジャーを持つレコード。 
 詳細については、「Amazon Timestream デベロッパーガイド」の「クォータ」を参照してください。 - RejectedRecords
- 
                        
 HTTP ステータスコード: 400 
- 
                     
- ResourceNotFoundException
- 
               オペレーションは、存在しないリソースにアクセスしようとしました。リソースが正しく指定されていないか、ステータスが ACTIVE ではない可能性があります。 HTTP ステータスコード: 400 
- ThrottlingException
- 
               ユーザーによって行われたリクエストが多すぎて、サービスクォータを超えました。リクエストがスロットリングされました。 HTTP ステータスコード: 400 
- ValidationException
- 
               無効または不正な形式のリクエスト。 HTTP ステータスコード: 400 
以下の資料も参照してください。
言語固有の AWS SDKs のいずれかでこの API を使用する方法の詳細については、以下を参照してください。