2026-01-20 - Monitoring Streams into AWS
Revision as of 14:25, 20 January 2026 by Sven the Barbarian (talk | contribs) (Created page with "Development - Izara Video Feed = Overview = How to efficiently receive video streams, and how to throttle and limit a users resource consumption. = Possible resources for recieving streams = == Kinesis Data Streams == == S3 presigned url == == Data firehose == == AWS Amplify Gen 2 == == IoT Core == * MQTT-based stream * does not expire * route to Kinesis or S3 = Possible authentication and limit methods = == IAM and Congnito == * Identity Pools for applic...")
Development - Izara Video Feed
Overview
How to efficiently receive video streams, and how to throttle and limit a users resource consumption.
Possible resources for recieving streams
Kinesis Data Streams
S3 presigned url
Data firehose
AWS Amplify Gen 2
IoT Core
- MQTT-based stream
- does not expire
- route to Kinesis or S3
Possible authentication and limit methods
IAM and Congnito
- Identity Pools for application-level user temporary keys
- Will need to refresh every <12hours
- client SDK (eg Python) have DefaultCredentialsProvider for automatically refreshing tokens
- Kinesis Producer Library may handle credential managament on client
API Keys
- assign keys to unique users
- setup usage plan to throttle throughput and request limits per user
API Gateway Lambda Authorizer
- if recieving feed through API Gateway can check user limits before processing
Kinesis Shard Quota
- if recieving to kineses can assign user to one shard which has a 1 MB/sec limit
S3 object size limit
- if receiving to S3 can set s3:max-content-length to reject large files
EventBridge triggered by CloudWatch Alarm
- removes a users access if over-limit