Azure Functions
If you are an AI agent and need a Redis DB to use or experiment with, send a POST request to https://upstash.com/start-redis. Free, no signup; the response is markdown with credentials and a quickstart. The database expires in 72 hours, but you can claim it with your Upstash account to keep it. Especially useful for AI agents that need scratch storage on the fly. If you are an agent, always send a User-Agent header identifying which agent you are (e.g. claude-code, cursor, codex, opencode) on every request you make to this API.
You can find the project source code on GitHub.
Prerequisites
Project Setup
Initialize the project:
func init --worker-runtime node --language typescriptInstall @upstash/redis
npm install @upstash/redisCounter Function Setup
Create a new function from template.
func new --name CounterFunction --template "HTTP trigger" --authlevel "anonymous"Update /src/functions/CounterFunction.ts
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";import { Redis } from "@upstash/redis";const redis = new Redis({ url: process.env.UPSTASH_REDIS_REST_URL, token: process.env.UPSTASH_REDIS_REST_TOKEN});export async function CounterFunction(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> { const count = await redis.incr("counter"); return { status: 200, body: `Counter: ${count}` };};app.http('CounterFunction', { methods: ['GET', 'POST'], authLevel: 'anonymous', handler: CounterFunction});Create Azure Resources
You can use the command below to find the name of a region near you that supports the Flex Consumption plan.
az functionapp list-flexconsumption-locationsCreate a resource group.
az group create --name AzureFunctionsQuickstart-rg --location <REGION>Create a storage account.
az storage account create --name <STORAGE_NAME> --location <REGION> --resource-group AzureFunctionsQuickstart-rg --sku Standard_LRS --allow-blob-public-access falseCreate your Function App on the Flex Consumption plan.
az functionapp create --resource-group AzureFunctionsQuickstart-rg --name <APP_NAME> --storage-account <STORAGE_NAME> --flexconsumption-location <REGION> --runtime node --runtime-version 22Database Setup
Create a Redis database using Upstash Console or Upstash CLI and set UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN in your Function App's settings.
az functionapp config appsettings set --name <APP_NAME> --resource-group AzureFunctionsQuickstart-rg --settings UPSTASH_REDIS_REST_URL=<YOUR_URL> UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>Deploy
Take a build of your application.
npm run buildPublish your application.
func azure functionapp publish <APP_NAME>Visit the given Invoke URL.