Funkcje aury i tajemnice aury
Każde polecenie aura functions i aura secrets wraz z jego opcjami, odczytywanymi plikami i wymaganym środowiskiem.
1. Konfiguracja
Polecenia komunikujące się z projektem wymagają trzech rzeczy:
| Potrzebować | Jak |
|---|---|
| Sesja | aura login, następnie aura link --project-id <uuid>, który zapisuje aurabase.toml |
| Adres URL projektu | AURA_PROJECT_URL lub project_url w aurabase.toml |
Klucz service_role | AURA_API_KEY lub AURA_SERVICE_ROLE_KEY w środowisku lub w pliku .env |
| Zmienny | Domyślny | Rola |
|---|---|---|
AURA_GATEWAY_URL | https://api.aurabase.cloud | Interfejs API zarządzania używany przez login, orgs i projects. Ustaw to jawnie, gdy pracujesz z innym stosem: wartością domyślną jest hostowana chmura. |
AURA_PROJECT_URL | project_url z aurabase.toml | Płaszczyzna danych Twojego projektu |
AURA_STUDIO_URL | http://localhost:3000 | Studio otwarte przez aura studio |
Bez AURA_GATEWAY_URL, aura login i aura projects create rozmawiają z https://api.aurabase.cloud. Wyeksportuj adres URL własnego stosu, zanim przetestujesz go.
2. funkcje aury
aura functions new <name> [--runtime deno|wasm]
Tworzy aurabase/functions/<name>/. Domyślnym środowiskiem wykonawczym jest deno (szablon TypeScript z index.ts i deno.json). Za pomocą --runtime wasm tworzy skrzynkę Rust (Cargo.toml, src/lib.rs). Odrzuca istniejącą nazwę.
aura functions serve [name] [--port 54321]
Uruchamia index.ts lub index.js z deno run --allow-net --allow-env --allow-read --watch, więc funkcja uruchamia się ponownie po zapisaniu. Wymaga zainstalowania Deno; bez niego polecenie wyjaśnia, jak je zainstalować. Bez nazwy zawiera listę funkcji lokalnych.
Serwer nasłuchuje na http://127.0.0.1:<port> i funkcja odbiera żądanie tak, jak miałoby to miejsce w produkcji (metoda, ścieżka, nagłówki, treść), bez platforma: bez x-aura-* nagłówków tożsamości, bez sekretów, bez ograniczeń. PORT i DENO_SERVE_ADDRESS są ustawione dla Ciebie, więc zwykły Deno.serve(handler) używa wybranego portu.
Funkcja WASM nie może być obsługiwana lokalnie: polecenie wyświetla sposób jej wdrożenia.
aura functions deploy <name>
Odczytuje index.ts (lub index.js) i wysyła go do projektu, tworząc lub zastępując funkcję. Istniejące tajemnice zostają zachowane. W przypadku funkcji bez index.ts lub index.js uruchamia cargo build --target wasm32-unknown-unknown --release i wysyła skompilowany plik binarny.
Funkcja Deno jest pojedynczym plikiem : polecenie odrzuca import względny (./helper.ts, ../lib.ts). Użyj zdalnego importu (npm:<package> lub https://esm.sh/<package>) lub wstaw kod.
aura functions invoke <name> [--data '<json>']
Wywołuje wdrożoną funkcję i drukuje kopertę odpowiedzi. --data jest treścią żądania. --data, który nie jest prawidłowym kodem JSON, jest błędem: nie jest zastępowany przez {}.
aura functions list [--json]
Wyświetla listę funkcji lokalnych wraz z ich środowiskiem wykonawczym (Deno / TypeScript lub Rust / WASM), a gdy projekt jest połączony, wdrożone z actif lub inactif.
aura functions logs <name> [--limit 50]
Wyświetla listę ostatnich żądań HTTP dla funkcji: czas, metoda, ścieżka, status, czas trwania i identyfikator żądania. To , a nie pokazuje wynik twojego kodu (console.log). Zobacz limity.
aura functions download <name>
Zapisuje wdrożony kod do aurabase/functions/<name>/: index.ts dla funkcji Deno, <name>.wasm dla funkcji WASM. Źródło Rust funkcji WASM nie jest przechowywane na serwerze.
aura functions delete <name> [--force]
Usuwa wdrożoną funkcję po potwierdzeniu. --force (lub -f) pomija potwierdzenie, które jest potrzebne w skryptach.
3. tajemnice aury
| Rozkaz | Efekt |
|---|---|
aura secrets list --function <name> [--json] | Wyświetla listę kluczy; wartości są maskowane (sk_l***) |
aura secrets set --function <name> KEY=VALUE … | Dodaje lub aktualizuje klucze, zachowując pozostałe |
aura secrets unset --function <name> KEY … | Usuwa klucze |
--function można zapisać -f. Te polecenia przechowują podane wartości i nie szyfrują ich: zobacz sekrety i środowisko, aby zapoznać się z zaszyfrowaną ścieżką.