Skip to content

Timestream Write

CloudMock emulates Amazon Timestream Write, supporting database and table management, record writing, querying, endpoint discovery, and tagging.

OperationStatusNotes
CreateDatabaseSupportedCreates a database
DescribeDatabaseSupportedReturns database details
ListDatabasesSupportedLists all databases
UpdateDatabaseSupportedUpdates database configuration
DeleteDatabaseSupportedDeletes a database
CreateTableSupportedCreates a table
DescribeTableSupportedReturns table details
ListTablesSupportedLists tables in a database
UpdateTableSupportedUpdates table configuration
DeleteTableSupportedDeletes a table
WriteRecordsSupportedWrites time-series records
QuerySupportedExecutes a query (stub results)
DescribeEndpointsSupportedReturns service endpoints
TagResourceSupportedAdds tags to a resource
UntagResourceSupportedRemoves tags from a resource
ListTagsForResourceSupportedLists tags for a resource
import { TimestreamWriteClient, CreateDatabaseCommand, CreateTableCommand, WriteRecordsCommand } from '@aws-sdk/client-timestream-write';
const client = new TimestreamWriteClient({
endpoint: 'http://localhost:4566',
region: 'us-east-1',
credentials: { accessKeyId: 'test', secretAccessKey: 'test' },
});
await client.send(new CreateDatabaseCommand({ DatabaseName: 'my-db' }));
await client.send(new CreateTableCommand({ DatabaseName: 'my-db', TableName: 'my-table' }));
await client.send(new WriteRecordsCommand({
DatabaseName: 'my-db',
TableName: 'my-table',
Records: [{ Dimensions: [{ Name: 'host', Value: 'server-1' }], MeasureName: 'cpu', MeasureValue: '85.5', MeasureValueType: 'DOUBLE', Time: String(Date.now()) }],
}));
import boto3
import time
client = boto3.client('timestream-write',
endpoint_url='http://localhost:4566',
region_name='us-east-1',
aws_access_key_id='test',
aws_secret_access_key='test')
client.create_database(DatabaseName='my-db')
client.create_table(DatabaseName='my-db', TableName='my-table')
client.write_records(
DatabaseName='my-db',
TableName='my-table',
Records=[{'Dimensions': [{'Name': 'host', 'Value': 'server-1'}], 'MeasureName': 'cpu', 'MeasureValue': '85.5', 'MeasureValueType': 'DOUBLE', 'Time': str(int(time.time() * 1000))}])
cloudmock.yml
services:
timestreamwrite:
enabled: true
  • Records are stored in-memory only
  • Query returns stub results, not actual time-series aggregations
  • Retention policies are stored but not enforced