Infraestructura · 7 min
Edge Functions en Supabase: cuándo usarlas y cuándo no
No todo tiene que ser una Edge Function. Pero algunas cosas sí.
Carlos Copisrad · 12 mayo 2026
¿Qué son las Edge Functions?
Las Edge Functions de Supabase son funciones Deno que se ejecutan en el borde de la red, cerca del usuario. Se despliegan globalmente y arrancan en milisegundos. Son similares a Cloudflare Workers o Vercel Edge Functions.
Cuándo usarlas
- Webhooks que necesitan respuesta síncrona: Stripe webhooks, formularios con validación en tiempo real
- Transformación de datos en tiempo real: procesar un archivo subido antes de guardarlo en storage
- Proxying de APIs externas: ocultar API keys del cliente, agregar autenticación
- Lógica de negocio sensible: que no puede estar en el cliente ni en SQL
Cuándo NO usarlas
- Tareas de larga duración (máximo 60 segundos de ejecución)
- Procesamiento de archivos grandes (límite de memoria)
- Jobs programados (usar pg_cron)
- Lógica simple que puede ir en una función SQL o RLS policy
Ejemplo: webhook de Stripe
// supabase/functions/stripe-webhook/index.ts
import Stripe from 'npm:stripe@14'
import { createClient } from 'npm:@supabase/supabase-js@2'
const stripe = new Stripe(Deno.env.get('STRIPE_SECRET_KEY')!)
const supabase = createClient(
Deno.env.get('SUPABASE_URL')!,
Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!
)
Deno.serve(async (req) => {
const signature = req.headers.get('stripe-signature')!
const body = await req.text()
const event = stripe.webhooks.constructEvent(
body, signature, Deno.env.get('STRIPE_WEBHOOK_SECRET')!
)
if (event.type === 'checkout.session.completed') {
await supabase.from('pagos').insert({ session_id: event.data.object.id })
}
return new Response('ok', { status: 200 })
})
Deploy
supabase functions deploy stripe-webhook --no-verify-jwt
¿Querés implementar esto en tu empresa? Escribinos. Diagnóstico de 30 minutos sin compromiso.