{"id":20502041,"url":"https://github.com/lmtx/amazon_timestream_aws_iot_core_lab","last_synced_at":"2026-04-16T23:31:38.754Z","repository":{"id":262611543,"uuid":"887447698","full_name":"LMtx/Amazon_Timestream_AWS_IoT_Core_Lab","owner":"LMtx","description":"Setting Up AWS TimeStream Database with Python CDK | IoT Series","archived":false,"fork":false,"pushed_at":"2024-11-15T09:56:15.000Z","size":309,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T19:58:47.841Z","etag":null,"topics":["amazon-timestream","amazon-web-services","aws","aws-iot","aws-iot-core","iot","iotcore","time-series","timestream"],"latest_commit_sha":null,"homepage":"https://www.thingrex.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LMtx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-12T19:01:29.000Z","updated_at":"2024-11-15T09:56:18.000Z","dependencies_parsed_at":"2024-11-13T11:24:27.408Z","dependency_job_id":"8810a636-19b0-4fb3-8316-1148fd5f642e","html_url":"https://github.com/LMtx/Amazon_Timestream_AWS_IoT_Core_Lab","commit_stats":null,"previous_names":["lmtx/amazon_timestream_aws_iot_core_lab"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LMtx%2FAmazon_Timestream_AWS_IoT_Core_Lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LMtx%2FAmazon_Timestream_AWS_IoT_Core_Lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LMtx%2FAmazon_Timestream_AWS_IoT_Core_Lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LMtx%2FAmazon_Timestream_AWS_IoT_Core_Lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LMtx","download_url":"https://codeload.github.com/LMtx/Amazon_Timestream_AWS_IoT_Core_Lab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242097418,"owners_count":20071252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-timestream","amazon-web-services","aws","aws-iot","aws-iot-core","iot","iotcore","time-series","timestream"],"created_at":"2024-11-15T19:19:10.666Z","updated_at":"2026-04-16T23:31:38.691Z","avatar_url":"https://github.com/LMtx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nThis is the final end-to-end solution overview:\n\n![](./img/aws_timestream_iot_intro.png)\n\n[Amazon Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html) is a purpose-built time-series database offered by AWS.\n\n[Time series data](https://en.wikipedia.org/wiki/Time_series) is a sequence of data points recorded over time. It is used to track events that change over time, such as sensor readings from connected IoT devices.\n\nLet's start by deploying our lab environment using [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/home.html) and [Python](https://www.python.org/) code.\n\n*Note:* This repository is currently a work in progress, including the scope presented in my [YouTube playlist](https://www.youtube.com/playlist?list=PL6twZ0y9DipheeEO0d2rTOHyohw3lKIdu).\n\n## Quick start\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate\npip install -U pip\npip install -U -r requirements.txt\ncdk --profile default deploy --all\n```\n\nExamine results via the [AWS Web Console](https://aws.amazon.com/console/).\n\nRemove cloud resources once you finish working with this lab to avoid AWS costs.\n\n```bash\ncdk --profile default destroy --all\n```\n\n## Explanation\n\nIn the [first step](https://github.com/LMtx/Amazon_Timestream_AWS_IoT_Core_Lab/tree/001_timestream_db), we deployed the Amazon Timestream Database.\n\nBefore AWS IoT Core can send telemetry data to that database, we need to grant it permission to do so. Please remember that AWS services can not interact with each other without explicit authorization.\n\nWe will [create an IAM Role](https://github.com/LMtx/Amazon_Timestream_AWS_IoT_Core_Lab/tree/002_iam_role) allowing AWS IoT Core to execute actions defined in an IAM Policy.\n\n![](./img/002_iam_rule.png)\n\nCodifying IAM Roles and Policies provides several benefits:\u003cbr /\u003e\n✅ Tracking permission changes (\"who\" changed \"what\" on what \"date\").\u003cbr /\u003e\n✅ Auditing security posture (analyzing code to detect potential issues).\u003cbr /\u003e\n✅ Deploying the same set of privileges to Dev/Test/Int/Prod environments.\n\n## Useful links\n\n### AWS CLI\n\nhttps://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmtx%2Famazon_timestream_aws_iot_core_lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flmtx%2Famazon_timestream_aws_iot_core_lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmtx%2Famazon_timestream_aws_iot_core_lab/lists"}