cad-function-queue-trigger

Build an Azure Function with a Storage Queue trigger that processes uploaded blobs and writes metadata.

2|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/jay-steenbergen/MSSAMentorAgent --skill cad-function-queue-trigger-jay-steenbergen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cad-function-queue-trigger
Source: https://github.com/jay-steenbergen/MSSAMentorAgent/tree/main/.github/skills/tracks/cloud-app-dev/cad-function-queue-trigger
Command: npx skills add https://github.com/jay-steenbergen/MSSAMentorAgent --skill cad-function-queue-trigger-jay-steenbergen

SYSTEM DOCUMENTATION & REQUIREMENTS

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.

Frequently Asked Questions about cad-function-queue-trigger

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an Azure Function with a Storage Queue trigger in .NET?

Use Azure Functions Core Tools: run `func init` with `--worker-runtime dotnet-isolated --target-framework net8.0`, then `func new --template "Queue trigger"`. Add a `[QueueTrigger("queue-name", Connection = "StorageConnection")]` attribute to the function method parameter.

How do I run Azure Functions locally against Azurite?

Start Azurite, set `AzureWebJobsStorage` and your connection setting to `UseDevelopmentStorage=true` in `local.settings.json`, then run `func start`. Create the queue and push test messages with `az storage message put` using the same development storage connection string.

What is the difference between a trigger and a binding in Azure Functions?

A trigger tells the runtime when to invoke the function, such as a new queue message. A binding moves data, like a Blob input binding that opens a stream or a Blob output binding that writes the return value to storage.

Why does my queue message arrive but the Function trigger never fires?

The most common cause is message encoding mismatch: the Azure SDK defaults to no encoding while the Functions runtime expects base64. Set `MessageEncoding = QueueMessageEncoding.Base64` on the producer's QueueClientOptions.

What happens to failed queue messages in Azure Storage Queues?

After `maxDequeueCount` failed attempts (default 5), Storage Queue moves the message to a `<queue-name>-poison` queue. Nothing monitors it by default, so you should add a separate function triggered on the poison queue to log or alert on failures.

When should I use Service Bus instead of Azure Storage Queues?

Use Service Bus when you need transactional workflows, sessions, dead-letter management, or topics and subscriptions. Storage Queues are simpler and cheaper for basic fire-and-forget background processing with at-least-once delivery.