Logotipo de Aurabase
aurabasedocumentos
documentos›Edge Functions›Your first function

Tu primera función Edge

Escribirá una función, la implementará en su proyecto, la llamará desde Node.js y leerá su resultado. Cada comando a continuación se ejecutó de verdad.

10 min leer·Nivel principiante·Revisado el 12 oct 2026
Este texto en inglés se generó automáticamente a partir del original en francés y aún no ha sido revisado.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
Requisitos

Antes de empezar

Necesitas:

  • Node.js 20 o posterior.
  • La CLI aura. Instálelo con npm install -g @aurabase/cli (consulte la referencia CLI de para otras plataformas).
  • Una cuenta Aurabase.
El CLI habla francés hoy

La CLI aura imprime sus mensajes en francés. Los resultados a continuación se copian de ejecuciones reales, no se traducen.

#
Proyecto

1. Crea y vincula un proyecto

Inicie sesión, cree un proyecto y vincule su carpeta de trabajo. Reemplace <org-slug> con el slug mostrado por aura orgs list.

terminalbash
aura login --email you@example.com --password '<your-password>'
aura orgs list
aura projects create my-app --org <org-slug>

El último comando imprime la URL del proyecto y sus primeras claves API. Cópielos ahora: las claves iniciales se muestran solo una vez. Si los extraña, cree otros nuevos en Studio en Configuración, Claves API.

outputtext
  ✔ Projet créé : my-app (e99f2c4f-43e2-4d08-b023-b4f9e687d17c)
    import { createClient } from '@aurabase/aurabase-js'
    const client = createClient('http://my-app-ajap5iw2.localhost:8080', 'aura_anon_…')

Vincula la carpeta actual al proyecto:

terminalbash
aura link --project-id e99f2c4f-43e2-4d08-b023-b4f9e687d17c
outputtext
  ✔ Projet e99f2c4f-… lié dans aurabase.toml.
  • URL du projet : http://my-app-ajap5iw2.localhost:8080

Luego indique a la CLI dónde está el plano de datos y qué clave usar. Se requiere una clave service_role para implementar, porque implementar código es una acción administrativa.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
Mantenga la clave service_role en su máquina

Una clave service_role pasa por alto la seguridad a nivel de fila y puede implementar código. Nunca lo pongas en un paquete de navegador ni confirmes .env.

#
Código

2. Escribe la función

terminalbash
aura functions new hello
outputtext
  ✔ Nouvelle fonction créée dans aurabase/functions/hello (gabarit TypeScript Deno)

Abra aurabase/functions/hello/index.ts y reemplace su contenido:

aurabase/functions/hello/index.tstypescript
Deno.serve(async (req: Request) => {
  const { name = 'world' } = await req.json().catch(() => ({}))

  return new Response(JSON.stringify({ greeting: `Hello, ${name}!` }), {
    headers: { 'content-type': 'application/json' },
  })
})

Una función debe llamar a Deno.serve. Nunca se llama a un export default.

#
Implementar

3. Implementarlo

terminalbash
aura functions deploy hello
outputtext
  ✔ Détection script TypeScript (runtime: deno)...
  • Envoi vers le service (runtime: deno)...
✔ Fonction 'hello' déployée avec succès !

Llámelo una vez desde la CLI para comprobar que responde:

terminalbash
aura functions invoke hello --data '{"name":"Ada"}'
outputtext
  ✔ Réponse (200) :
{
  "data": {
    "body": { "greeting": "Hello, Ada!" },
    "duration_ms": 74,
    …
#
SDK

4. Llámalo desde el SDK

terminalbash
mkdir hello-client && cd hello-client
npm init -y
npm install @aurabase/aurabase-js
hello.mjstypescript
import { createClient } from '@aurabase/aurabase-js'

const aura = createClient(process.env.AURA_PROJECT_URL, process.env.AURA_ANON_KEY)

const { data, error } = await aura.functions.invoke('hello', { body: { name: 'Ada' } })
if (error) throw error

console.log(data.greeting)
terminalbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080 AURA_ANON_KEY=aura_anon_… node hello.mjs
outputtext
Hello, Ada!

Llamó a una función con la clave pública anon. Esa es la única llamada que puede realizar una clave pública: consulte quién puede llamar a qué.

Última actualización · 12 oct 2026