Aura-Funktionen und Aura-Geheimnisse
Jeder Befehl aura functions und aura secrets mit seinen Optionen, den gelesenen Dateien und der benötigten Umgebung.
1. Einrichtung
Befehle, die mit Ihrem Projekt kommunizieren, benötigen drei Dinge:
| Brauchen | Wie |
|---|---|
| Eine Sitzung | aura login, dann aura link --project-id <uuid>, was aurabase.toml schreibt |
| Die Projekt-URL | AURA_PROJECT_URL oder project_url in aurabase.toml |
Ein service_role-Schlüssel | AURA_API_KEY oder AURA_SERVICE_ROLE_KEY, in der Umgebung oder in einer .env-Datei |
| Variabel | Standard | Rolle |
|---|---|---|
AURA_GATEWAY_URL | https://api.aurabase.cloud | Verwaltungs-API, die von login, orgs und projects verwendet wird. Legen Sie es explizit fest, wenn Sie mit einem anderen Stack arbeiten.: Der Standardwert ist die gehostete Cloud. |
AURA_PROJECT_URL | project_url von aurabase.toml | Datenebene Ihres Projekts |
AURA_STUDIO_URL | http://localhost:3000 | Studio eröffnet von aura studio |
Ohne AURA_GATEWAY_URL sprechen aura login und aura projects create mit https://api.aurabase.cloud. Exportieren Sie die URL Ihres eigenen Stacks, bevor Sie ihn testen.
2. Aura-Funktionen
aura functions new <name> [--runtime deno|wasm]
Erstellt aurabase/functions/<name>/. Die Standardlaufzeit ist deno (Vorlage TypeScript mit index.ts und deno.json). Mit --runtime wasm wird eine Rust-Kiste erstellt (Cargo.toml, src/lib.rs). Es lehnt einen vorhandenen Namen ab.
aura functions serve [name] [--port 54321]
Führt index.ts oder index.js mit deno run --allow-net --allow-env --allow-read --watch aus, sodass die Funktion beim Speichern neu gestartet wird. Es muss Deno installiert sein; Ohne sie erklärt der Befehl, wie man sie installiert. Ohne Namen listet es lokale Funktionen auf.
Der Server lauscht auf http://127.0.0.1:<port> und die Funktion empfängt die Anfrage wie in der Produktion (Methode, Pfad, Header, Text), ohne die Plattform: keine x-aura-* Identitätsheader, keine Geheimnisse, keine Einschränkungen. PORT und DENO_SERVE_ADDRESS werden für Sie festgelegt, sodass ein einfacher Deno.serve(handler) den ausgewählten Port verwendet.
Eine WASM-Funktion kann nicht lokal bereitgestellt werden: Der Befehl gibt aus, wie sie bereitgestellt wird.
aura functions deploy <name>
Liest index.ts (oder index.js) und sendet es an das Projekt, wodurch die Funktion erstellt oder ersetzt wird. Bestehende Geheimnisse bleiben erhalten. Für eine Funktion ohne index.ts oder index.js führt sie cargo build --target wasm32-unknown-unknown --release aus und sendet die kompilierte Binärdatei.
Eine Deno-Funktion ist eine einzelne Datei: Der Befehl lehnt relative Importe ab (./helper.ts, ../lib.ts). Verwenden Sie Remote-Importe (npm:<package> oder https://esm.sh/<package>) oder integrieren Sie den Code.
aura functions invoke <name> [--data '<json>']
Ruft die bereitgestellte Funktion auf und druckt den Antwortumschlag. --data ist der Anforderungstext. Ein --data, das kein gültiges JSON ist, ist ein Fehler: Es wird nicht durch {} ersetzt.
aura functions list [--json]
Listet lokale Funktionen mit ihrer Laufzeit (Deno / TypeScript oder Rust / WASM) und, wenn ein Projekt verknüpft ist, die bereitgestellten mit actif oder inactif auf.
aura functions logs <name> [--limit 50]
Listet aktuelle HTTP-Anfragen für die Funktion auf: Zeit, Methode, Pfad, Status, Dauer und Anfrage-ID. Es zeigt nicht die Ausgabe Ihres Codes an (console.log). Siehe -Grenzwerte.
aura functions download <name>
Schreibt den bereitgestellten Code in aurabase/functions/<name>/: index.ts für eine Deno-Funktion, <name>.wasm für eine WASM-Funktion. Die Rust-Quelle einer WASM-Funktion wird nicht auf dem Server gespeichert.
aura functions delete <name> [--force]
Löscht die bereitgestellte Funktion nach einer Bestätigung. --force (oder -f) überspringt die Bestätigung, die Sie in Skripten benötigen.
3. Aura-Geheimnisse
| Befehl | Wirkung |
|---|---|
aura secrets list --function <name> [--json] | Listet die Schlüssel auf; Werte werden maskiert (sk_l***) |
aura secrets set --function <name> KEY=VALUE … | Fügt Schlüssel hinzu oder aktualisiert sie, behält die anderen bei |
aura secrets unset --function <name> KEY … | Entfernt Schlüssel |
--function kann geschrieben werden -f. Diese Befehle speichern Werte wie angegeben und verschlüsseln sie nicht: Den verschlüsselten Pfad finden Sie unter Geheimnisse und Umgebung.