fonctions de l'aura et secrets de l'aura
Chaque commande aura functions et aura secrets, avec ses options, les fichiers qu'elle lit et l'environnement dont elle a besoin.
1. Configuration
Les commandes qui communiquent avec votre projet nécessitent trois éléments :
| Besoin | Comment |
|---|---|
| Une séance | aura login, puis aura link --project-id <uuid>, qui écrit aurabase.toml |
| L'URL du projet | AURA_PROJECT_URL, ou project_url dans aurabase.toml |
Une clé service_role | AURA_API_KEY ou AURA_SERVICE_ROLE_KEY, dans l'environnement ou dans un fichier .env |
| Variable | Par défaut | Rôle |
|---|---|---|
AURA_GATEWAY_URL | https://api.aurabase.cloud | API de gestion utilisée par login, orgs et projects. Définissez-le explicitement lorsque vous travaillez sur une autre pile: la valeur par défaut est le cloud hébergé. |
AURA_PROJECT_URL | project_url sur aurabase.toml | Plan de données de votre projet |
AURA_STUDIO_URL | http://localhost:3000 | Studio ouvert par aura studio |
Sans AURA_GATEWAY_URL, aura login et aura projects create parlent à https://api.aurabase.cloud. Exportez l'URL de votre propre pile avant de la tester.
2. fonctions de l'aura
aura functions new <name> [--runtime deno|wasm]
Crée aurabase/functions/<name>/. Le moteur d'exécution par défaut est deno (modèle TypeScript avec index.ts et deno.json). Avec --runtime wasm, il crée une caisse Rust (Cargo.toml, src/lib.rs). Il refuse un nom existant.
aura functions serve [name] [--port 54321]
Exécute index.ts ou index.js avec deno run --allow-net --allow-env --allow-read --watch, de sorte que la fonction redémarre lorsque vous enregistrez. Il faut que Deno soit installé ; sans cela, la commande explique comment l'installer. Sans nom, il répertorie les fonctions locales.
Le serveur écoute sur http://127.0.0.1:<port> et la fonction reçoit la requête comme elle le ferait en production (méthode, chemin, en-têtes, corps), sans la plateforme : pas d'en-têtes d'identité x-aura-*, pas de secrets, pas de limites. PORT et DENO_SERVE_ADDRESS sont définis pour vous, donc un simple Deno.serve(handler) utilise le port choisi.
Une fonction WASM ne peut pas être servie localement : la commande affiche comment la déployer.
aura functions deploy <name>
Lit index.ts (ou index.js) et l'envoie au projet, créant ou remplaçant la fonction. Les secrets existants sont gardés. Pour une fonction sans index.ts ou index.js, elle exécute cargo build --target wasm32-unknown-unknown --release et envoie le binaire compilé.
Une fonction Deno est un fichier unique : la commande refuse les importations relatives (./helper.ts, ../lib.ts). Utilisez les importations à distance (npm:<package> ou https://esm.sh/<package>) ou inlinez le code.
aura functions invoke <name> [--data '<json>']
Appelle la fonction déployée et imprime l'enveloppe de réponse. --data est le corps de la requête. Un --data qui n'est pas un JSON valide est une erreur : il n'est pas remplacé par {}.
aura functions list [--json]
Répertorie les fonctions locales avec leur runtime (Deno / TypeScript ou Rust / WASM) et, lorsqu'un projet est lié, celles déployées avec actif ou inactif.
aura functions logs <name> [--limit 50]
Répertorie les requêtes HTTP récentes pour la fonction : heure, méthode, chemin, statut, durée et identifiant de la requête. Il et non affiche la sortie de votre code (console.log). Voir limites .
aura functions download <name>
Écrit le code déployé dans aurabase/functions/<name>/: index.ts pour une fonction Deno, <name>.wasm pour une fonction WASM. La source Rust d'une fonction WASM n'est pas stockée sur le serveur.
aura functions delete <name> [--force]
Supprime la fonction déployée après une confirmation. --force (ou -f) ignore la confirmation dont vous avez besoin dans les scripts.
3. secrets d'aura
| Commande | Effet |
|---|---|
aura secrets list --function <name> [--json] | Répertorie les clés ; les valeurs sont masquées (sk_l***) |
aura secrets set --function <name> KEY=VALUE … | Ajoute ou met à jour les clés, conserve les autres |
aura secrets unset --function <name> KEY … | Supprime les clés |
--function peut s'écrire -f. Ces commandes stockent les valeurs telles qu'elles sont données et ne les chiffrent pas : voir les secrets et l'environnement pour le chemin chiffré.