Timestream
2 minute read
Introduction
LocalStack contains basic support for Timestream time series databases, including these operations:
- Creating databases
- Creating tables
- Writing records to tables
- Querying timeseries data from tables
LocalStack supports Timestream via the Pro/Team offering, allowing you to use the Timestream APIs in your local environment. The supported APIs are available on our API Coverage Page (Timestream-Query/Timestream-Write), which provides information on the extent of Timestream integration with LocalStack.
Getting Started
The following example illustrates the basic operations, using the awslocal
command line.
First, we create a test database and table:
$ awslocal timestream-write create-database --database-name testDB
$ awslocal timestream-write create-table --database-name testDB --table-name testTable
We can then add a few records with a timestamp, measure name, and value to the table:
$ awslocal timestream-write write-records --database-name testDB --table-name testTable --records '[{"MeasureName":"cpu","MeasureValue":"60","TimeUnit":"SECONDS","Time":"1636986409"}]'
$ awslocal timestream-write write-records --database-name testDB --table-name testTable --records '[{"MeasureName":"cpu","MeasureValue":"80","TimeUnit":"SECONDS","Time":"1636986412"}]'
$ awslocal timestream-write write-records --database-name testDB --table-name testTable --records '[{"MeasureName":"cpu","MeasureValue":"70","TimeUnit":"SECONDS","Time":"1636986414"}]'
Finally, we can run a query to retrieve the timeseries data (or aggregate values) from the table:
$ awslocal timestream-query query --query-string "SELECT CREATE_TIME_SERIES(time, measure_value::double) as cpu FROM testDB.timeStreamTable WHERE measure_name='cpu'"
{
"Rows": [{
"Data": [{
"TimeSeriesValue": [{
"Time": "2021-11-15T14:26:49",
"Value": {
"ScalarValue": 60
}
},
...
Limitations
LocalStack’s Timestream implementation is under active development and only supports a limited set of operations, please refer to the API Coverage pages for an up-to-date list of implemented and tested functions within Timestream-Query and Timestream-Write.
If you have a usecase that uses Timestream but doesn’t work with our implementation yet, we encourage you to get in touch, so we can streamline any operations you rely on.