2026-01-20 - Monitoring Streams into AWS

From Izara Wiki
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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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