Posts

LimitExceededException When Starting Too Many Rekognition Video Jobs

Image
  LimitExceededException  When Starting Too Many Rekognition Video Jobs How to track active video jobs and design around Rekognition concurrency limits #AWS #AmazonRekognition #CloudArchitecture #DevOps Category: Service Quotas & Throttling Problem Your system submits multiple video analysis jobs using  Amazon Rekognition . You call: StartLabelDetection StartFaceDetection StartContentModeration Other async video APIs The first few requests succeed. Then new requests fail with: LimitExceededException: The number of concurrent jobs exceeds the limit. IAM permissions are correct. S3 access works. SNS role is configured. Yet new video jobs refuse to start. Clarifying the Issue Rekognition video APIs are  asynchronous . When you call a  Start*  operation, AWS: Accepts the job Queues it for processing Returns a  JobId That job remains active until it completes. Each AWS account has a  maximum number of concurrent active video jobs per region . If yo...

The Secret Life of AWS: The Plaintext Password (AWS Secrets Manager)

Image
  The Secret Life of AWS: The Plaintext Password (AWS Secrets Manager) Why hardcoding credentials is a breach waiting to happen. #AWS #SecretsManager #Security #DevOps Part 45 of The Secret Life of AWS Timothy successfully connected his Inventory microservice to the Checkout database across the new Transit Gateway. The network was secure. The traffic was private. He opened his Lambda function configuration to add the database connection string. In the Environment Variables section, he typed: DB_HOST :  10.0.5.12   DB_USER :  admin   DB_PASS :  SuperSecretDatabasePassword123! He clicked Deploy. The function ran, connected to the database, and returned a 200 OK. Margaret walked by and glanced at his screen. "Timothy," she said, "you just secured the entire network, but you left the master database password sitting in plain text." "It's an environment variable," Timothy defended. "It's injected at runtime. It's not like I committed it to the ...

The Secret Life of Azure: The Notebook That Could Grow Forever

Image
  The Secret Life of Azure: The Notebook That Could Grow Forever Choosing between Azure SQL and Cosmos DB for your data. #Azure #DataArchitecture #CosmosDB #AzureSQL Data & AI The library was bustling, but Timothy was sitting behind a mountain of loose-leaf papers, looking defeated. He was trying to find a record of a book loan from three weeks ago, but the papers were in no particular order. "Margaret," he said, "the automated assembly line is bringing in thousands of new records every hour, but I don't know where to put them. I tried keeping a ledger, but some entries are just names, while others are long descriptions and photos. The ledger is too stiff, and these loose papers are too messy. I need a notebook that knows how to organize itself." Margaret picked up two very different books from a nearby shelf. One was a strictly lined ledger; the other was a flexible, expandable binder. "Timothy, in the cloud, we don't just have one kind of notebook...

The Secret Life of Go: The Select Statement

Image
  The Secret Life of Go: The Select Statement How to Stop Fast Data from Waiting on Slow Channels #Golang #Concurrency #CodingTips #SoftwareEngineering Part 25: The Multiplexer, The Timeout, and The Non-Blocking Read Ethan was watching his terminal output drip line by line. It was agonizingly slow. "I don't understand," he said, rubbing his eyes. "I have two goroutines sending data. One is a local cache that returns in one millisecond. The other is a network call that takes five seconds. But the fast data is waiting for the slow data." Eleanor walked over and looked at his code. The Problem Code: func process (cacheChan <-chan string, netChan <-chan string) { // Read from the network (takes 5 seconds) netData := <-netChan fmt. Println ( "Received:" , netData) // Read from the cache (takes 1 millisecond) cacheData := <-cacheChan fmt. Println ( "Received:" , cacheData) } "You have created a traffic ja...

The read-aloud Class: Unlocking Chrome's Listen Feature

Image
  The  read-aloud  Class: Unlocking Chrome's Listen Feature How a single CSS class tells Android Chrome your content is worth hearing. #WebDevelopment #HTML #Accessibility #Chrome The Problem Nobody Talks About You've written a great article. You've published it to Blogger. But when a reader opens it on Android Chrome, the  Listen to this page  feature is nowhere to be found. Your content exists. Chrome just doesn't know it's readable. What Is the  read-aloud  Class? The  read-aloud  class is a signal — not a standard, not a spec, but a Chrome-recognized marker that tells Android's browser:  this content is long-form and human-readable. When Chrome detects this class in your HTML, it surfaces the  Listen to this page  option in the browser menu, allowing readers to have your article read aloud to them. Without it, Chrome may skip the feature entirel...

ThrottlingException During Rekognition Batch Processing

Image
  ThrottlingException  During Rekognition Batch Processing How to detect, monitor, and fix Rekognition rate limits before production fails. #AWS #AmazonRekognition #CloudArchitecture #DevOps Category: Service Quotas & Throttling Problem Your batch image job calls  Amazon Rekognition  repeatedly. The first set of requests succeed. Then the workload begins failing with: ThrottlingException: Rate exceeded Permissions are correct. Credentials are valid. No configuration changes occurred. The job slows down or collapses entirely. Clarifying the Issue ThrottlingException  means you have exceeded a  service quota or request rate limit . Rekognition enforces limits on: Transactions per second (TPS) Concurrent video jobs Certain API categories When your request rate exceeds the allowed threshold, Rekognition responds with throttling. This is not a permissions failure. It is capacity protection. In AWS services: 📌 Throttling protects shared infrastructure from b...