← Providers
Azure Container Apps dynamic sessions
provider: "azure"
Flat $0.03 per session-hour (built-in Shell pools), billed per allocated session in 1-hour increments, East US; needs a session pool you create once.
List price per hour
| 1 vCPU · 2 GB | $0.030 |
| 2 vCPU · 4 GB | max 1 vCPU |
| 4 vCPU · 8 GB | max 1 vCPU |
| 8 vCPU · 16 GB | max 1 vCPU |
| 16 vCPU · 32 GB | max 1 vCPU |
| 32 vCPU · 128 GB | max 1 vCPU |
- Source
- learn.microsoft.com, 2026-11-04 (an estimate, not a bill)
- Billing
- the size you ask for, while it runs
- Plan
- none needed
Adapter
- Supports
- Exec + streaming · Files
- Max size
- 1 vCPU · 2 GB
- Routing
- Chosen when it's the cheapest fit, or as a fallback
Measured on real accounts
- Real-account check
- not run yet
- tested against a mock of its API only
- Cold start
- not measured
- no benchmark run yet
- Succeeded
- not measured
- no benchmark run yet
- Size you get
- not measured
- no cost run yet
- Billed vs list price
- not measured
- no cost run yet
Help verify Azure Container Apps dynamic sessions
Have a Azure Container Apps dynamic sessions account? These run real sandboxes on it, for a few cents at most, and write result files that fill in the blanks above. Results never include your keys. Run them in a clone of the repo and open a pull request with the files: CI checks every file for keys and impossible numbers, and a maintainer reviews each one before it shows here.
terminal
npx @sandboxrouter/sdk check --provider azure --save --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk bench --provider azure --runs 5 --share --label "your city or cloud region" --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk cost run --provider azure --minutes 10 --by YOUR_GITHUB_USERNAMEReal-account check, step by step
Not run on a real account yet; the adapter is tested against a mock of Azure Container Apps dynamic sessions's API.
setup
npm i @sandboxrouter/sdk
export AZURE_SESSIONS_POOL_ENDPOINT=...
export AZURE_SESSIONS_TOKEN=...
# or
export AZURE_SESSIONS_POOL_ENDPOINT=...
export AZURE_TENANT_ID=...
export AZURE_CLIENT_ID=...
export AZURE_CLIENT_SECRET=...use Azure Container Apps dynamic sessions
import { Router } from "@sandboxrouter/sdk";
const router = new Router();
const sbx = await router.create({}, { provider: "azure" });
await sbx.exec("uname -a", { onStdout: (c) => process.stdout.write(c) });
await sbx.kill();