Logo Aurabase
aurabazadokumenty
dokumenty›Edge Functions›Your first function

Twoja pierwsza funkcja Edge

Napiszesz funkcję, wdrożysz ją w swoim projekcie, wywołasz z Node.js i przeczytasz jej wynik. Każde poniższe polecenie zostało uruchomione naprawdę.

10 min przeczytane·Poziom początkujący·Zmieniono 12 paź 2026
Ten tekst w języku angielskim został wygenerowany automatycznie na podstawie francuskiego oryginału i nie był jeszcze recenzowany.
Ta strona została przetłumaczona automatycznie. Wersja angielska jest miarodajna.
#
Wymagania

Zanim zaczniesz

Potrzebujesz:

  • Node.js 20 lub nowszy.
  • Interfejs wiersza polecenia aura. Zainstaluj go za pomocą npm install -g @aurabase/cli (zobacz dokumentację CLI dla innych platform).
  • Konto Aurabase.
CLI mówi dziś po francusku

Interfejs CLI aura drukuje swoje komunikaty w języku francuskim. Poniższe dane wyjściowe są kopiowane z rzeczywistych przebiegów, a nie tłumaczone.

#
Projekt

1. Utwórz i połącz projekt

Zaloguj się, utwórz projekt i połącz z nim swój folder roboczy. Zamień <org-slug> na ślimak pokazany przez aura orgs list.

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

Ostatnie polecenie drukuje adres URL projektu i pierwsze klucze API. Skopiuj je teraz: początkowe klucze zostaną pokazane tylko raz. Jeśli je przegapisz, utwórz nowe w Studio w Ustawieniach, Klucze 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_…')

Połącz bieżący folder z projektem:

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

Następnie powiedz CLI, gdzie znajduje się płaszczyzna danych i jakiego klucza użyć. Do wdrożenia wymagany jest klucz service_role, ponieważ wdrażanie kodu jest akcją administracyjną.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
Zachowaj klucz service_role na swoim komputerze

Klucz service_role omija zabezpieczenia na poziomie wiersza i może wdrożyć kod. Nigdy nie umieszczaj go w pakiecie przeglądarki ani nie zatwierdzaj .env.

#
Kod

2. Napisz funkcję

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

Otwórz aurabase/functions/hello/index.ts i zastąp jego zawartość:

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' },
  })
})

Funkcja musi wywołać Deno.serve. export default nigdy nie jest wywoływany.

#
Wdrożyć

3. Wdróż go

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 !

Zadzwoń do niego raz z poziomu CLI, aby sprawdzić, czy odpowiada:

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

4. Wywołaj to z 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!

Wywołałeś funkcję z publicznym kluczem anon. To jedyne wywołanie, jakie może wykonać klucz publiczny: zobacz , kto może wywołać, co.

Ostatnia aktualizacja · 12 paź 2026