Логотип Аурабаза
аурабазадокументы
документы›Edge Functions›Your first function

Ваша первая краевая функция

Вы напишете функцию, развернете ее в своем проекте, вызовете ее из Node.js и прочтете ее результат. Каждая приведенная ниже команда была запущена на самом деле.

10 мин читать·Уровень новичок·Пересмотрено 12 окт. 2026 г.
Этот текст на английском языке был создан автоматически на основе французского оригинала и еще не проверялся.
Эта страница была переведена автоматически. Английская версия является авторитетной.
#
Требования

Прежде чем начать

Вам нужно:

  • Node.js 20 или новее.
  • Интерфейс командной строки aura. Установите его с помощью npm install -g @aurabase/cli (см. ссылку CLI для других платформ).
  • Учетная запись Aurabase.
CLI сегодня говорит по-французски

Интерфейс командной строки aura печатает свои сообщения на французском языке. Результаты, приведенные ниже, скопированы из реальных запусков, а не переведены.

#
Проект

1. Создайте и свяжите проект

Войдите в систему, создайте проект и привяжите к нему свою рабочую папку. Замените <org-slug> на пул, показанный aura orgs list.

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

Последняя команда печатает URL-адрес проекта и ваши первые ключи API. Скопируйте их сейчас: начальные ключи отображаются только один раз. Если вам их не хватает, создайте новые в Студии в разделе «Настройки», «Ключи 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_…')

Свяжите текущую папку с проектом:

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

Затем сообщите CLI, где находится плоскость данных и какой ключ использовать. Для развертывания требуется ключ service_role, поскольку развертывание кода является административным действием.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
Сохраните ключ service_role на своем компьютере.

Ключ service_role обходит безопасность на уровне строк и может развертывать код. Никогда не помещайте его в пакет браузера и не фиксируйте .env.

#
Код

2. Напишите функцию

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

Откройте aurabase/functions/hello/index.ts и замените его содержимое:

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

Функция должна вызывать Deno.serve. export default никогда не вызывается.

#
Развертывать

3. Разверните его

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 !

Вызовите его один раз из CLI, чтобы убедиться, что он отвечает:

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

4. Вызовите его из 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!

Вы вызвали функцию с открытым ключом anon. Это единственный вызов, который может сделать открытый ключ: см. , кто может вызывать то, что.

Последнее обновление · 12 окт. 2026 г.