What problem does it solve? It teaches learners how to add event-driven, serverless background processing to an existing ASP.NET Core TODO API by wiring an Azure Function to a Storage Queue, covering triggers, bindings, idempotency, and poison-message handling that tutorials often skip. ## Core Features & Use Cases - Queue-triggered Function scaffold: Creates a .NET 8 isolated-worker Azure Function that fires when the API drops a message on the attachment-uploaded queue after a blob upload. - Blob input/output bindings: Downloads the uploaded blob via a Blob input binding, computes SHA-256 hash and size, and writes a metadata/<blobname>.json sibling blob through a Blob output binding. - Production resilience patterns: Configures maxDequeueCount, visibility timeouts, and a poison-queue handler, and explains at-least-once delivery and idempotency. - Use Case: A learner uploads a file through the TODO API and watches a serverless Function automatically generate a metadata record with the file's hash and size in Azure Storage, first locally with Azurite and then deployed to a Consumption-plan Function App. ## Quick Start Ask the mentor to start the cad-function-queue-trigger project so we can add a queue-triggered Azure Function to my TODO API and process uploaded attachments.