Logo Aurabase
aurabasedocumenti
documenti›Edge Functions›Your first function

La tua prima funzione Edge

Scriverai una funzione, la distribuirai nel tuo progetto, la chiamerai da Node.js e ne leggerai il risultato. Ogni comando seguente è stato eseguito per davvero.

10 min letto·Livello principiante·Revisionato il 12 ott 2026
Questo testo inglese è stato generato automaticamente dall'originale francese e non è stato ancora rivisto.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Requisiti

Prima di iniziare

Hai bisogno di:

  • Node.js 20 o successivo.
  • La CLI aura. Installalo con npm install -g @aurabase/cli (vedi riferimento CLI per altre piattaforme).
  • Un account Aurabase.
La CLI oggi parla francese

La CLI aura stampa i suoi messaggi in francese. Gli output seguenti sono copiati da esecuzioni reali, non tradotti.

#
Progetto

1. Crea e collega un progetto

Accedi, crea un progetto e collega ad esso la tua cartella di lavoro. Sostituisci <org-slug> con lo slug mostrato da aura orgs list.

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

L'ultimo comando stampa l'URL del progetto e le prime chiavi API. Copiali adesso: i tasti iniziali vengono mostrati una sola volta. Se ti mancano, creane di nuovi in ​​Studio in Impostazioni, Chiavi 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_…')

Collega la cartella corrente al progetto:

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

Quindi indica alla CLI dove si trova il piano dati e quale chiave utilizzare. Per la distribuzione è necessaria una chiave service_role, poiché la distribuzione del codice è un'azione amministrativa.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
Conserva la chiave service_role sul tuo computer

Una chiave service_role ignora la sicurezza a livello di riga e può distribuire codice. Non inserirlo mai in un bundle del browser né eseguire il commit .env.

#
Codice

2. Scrivere la funzione

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

Apri aurabase/functions/hello/index.ts e sostituisci il suo contenuto:

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 funzione deve chiamare Deno.serve. Un export default non viene mai chiamato.

#
Distribuire

3. Distribuirlo

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 !

Chiamalo una volta dalla CLI per verificare che risponda:

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

4. Chiamalo dall'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!

Hai chiamato una funzione con la chiave pubblica anon. Questa è l'unica chiamata che una chiave pubblica può effettuare: vedere chi può chiamare cosa.

Ultimo aggiornamento · 12 ott 2026