deploying-fc1-flex-consumption-functionslisted
Install: claude install-skill alexpizarro/azure-lean-stack-skills
# Deploying FC1 Flex Consumption Function Apps
Use FC1 when SWA managed functions don't fit: timer triggers, queue triggers, AI workloads, or anything that runs longer than 30 seconds.
## Workflow checklist
Copy this checklist and tick items off:
```
FC1 Flex Consumption provisioning:
- [ ] Step 1: Confirm SP has User Access Administrator at the RG scope (needed for MI role assignments)
- [ ] Step 2: Deploy storage account with the deployment container (storage-for-fc1.bicep)
- [ ] Step 3: Deploy FC1 plan + Function App via Bicep (NEVER az CLI — it silently mis-creates the plan)
- [ ] Step 4: Verify properties.sku == "FlexConsumption" with az functionapp show
- [ ] Step 5: Confirm FUNCTIONS_WORKER_RUNTIME is NOT in app settings
- [ ] Step 6: Confirm package.json has "main": "dist/index.js" and "engines": { "node": "22" } (CommonJS — same as SWA)
- [ ] Step 7: Confirm src/index.ts imports every function file (a missing import = silent 404)
- [ ] Step 8: Deploy code with `az functionapp deployment source config-zip` (not Azure/functions-action); verify with `az functionapp show --query properties.sku` == FlexConsumption
- [ ] Step 9: Wait up to 10 min for MI role assignment propagation if first call fails
- [ ] Step 10: Restart the app once after the first deploy — the v4 Node host doesn't always discover functions from a fresh zip until it recycles
```
## Why this is hard
Azure Flex Consumption (FC1) looks similar to deprecated Linux Consumption (Y1) in the portal but be