Aura Logo
aurabasedocumentos
documentos›Edge Functions›Your first function

Sua primeira função Edge

Você irá escrever uma função, implantá-la em seu projeto, chamá-la do Node.js e ler seu resultado. Cada comando abaixo foi executado de verdade.

10 min lido·Nível iniciante·Revisado em 12 de out. de 2026
Este texto em inglês foi gerado automaticamente a partir do original em francês e ainda não foi revisado.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Requisitos

Antes de começar

Você precisa de:

  • Node.js 20 ou posterior.
  • A CLI aura. Instale-o com npm install -g @aurabase/cli (consulte a referência CLI para outras plataformas).
  • Uma conta Aurabase.
O CLI fala francês hoje

A CLI aura imprime suas mensagens em francês. Os resultados abaixo são copiados de execuções reais, não traduzidos.

#
Projeto

1. Crie e vincule um projeto

Faça login, crie um projeto e vincule sua pasta de trabalho a ele. Substitua <org-slug> pelo 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>

O último comando imprime a URL do projeto e suas primeiras chaves de API. Copie-os agora: as chaves iniciais são mostradas apenas uma vez. Se você sentir falta deles, crie novos no Studio em Configurações, Chaves de 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_…')

Vincule a pasta atual ao projeto:

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

Em seguida, informe à CLI onde está o plano de dados e qual chave usar. Uma chave service_role é necessária para implantação, porque a implantação do código é uma ação administrativa.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
Mantenha a chave service_role em sua máquina

Uma chave service_role ignora a segurança em nível de linha e pode implantar código. Nunca coloque-o em um pacote de navegador ou confirme .env.

#
Código

2. Escreva a função

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

Abra aurabase/functions/hello/index.ts e substitua seu conteúdo:

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

Uma função deve chamar Deno.serve. Um export default nunca é chamado.

#
Implantar

3. Implante

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 !

Chame-o uma vez na CLI para verificar se ele responde:

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

4. Chame-o do 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!

Você chamou uma função com a chave pública anon. Essa é a única chamada que uma chave pública pode fazer: veja quem pode chamar o que.

Última atualização · 12 de out. de 2026