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.