funzioni dell'aura e segreti dell'aura
Ogni comando aura functions e aura secrets, con le sue opzioni, i file che legge e l'ambiente di cui ha bisogno.
1. Configurazione
I comandi che comunicano con il tuo progetto necessitano di tre cose:
| Bisogno | Come |
|---|---|
| Una sessione | aura login, quindi aura link --project-id <uuid>, che scrive aurabase.toml |
| L'URL del progetto | AURA_PROJECT_URL o project_url in aurabase.toml |
Una chiave service_role | AURA_API_KEY o AURA_SERVICE_ROLE_KEY, nell'ambiente o in un file .env |
| Variabile | Predefinito | Ruolo |
|---|---|---|
AURA_GATEWAY_URL | https://api.aurabase.cloud | API di gestione utilizzata da login, orgs e projects. Impostalo esplicitamente quando lavori con un altro stack: l'impostazione predefinita è il cloud ospitato. |
AURA_PROJECT_URL | project_url di aurabase.toml | Piano dati del tuo progetto |
AURA_STUDIO_URL | http://localhost:3000 | Studio aperto da aura studio |
Senza AURA_GATEWAY_URL, aura login e aura projects create parlano con https://api.aurabase.cloud. Esporta l'URL del tuo stack prima di testarlo.
2. funzioni dell'aura
aura functions new <name> [--runtime deno|wasm]
Crea aurabase/functions/<name>/. Il runtime predefinito è deno ( modello TypeScript con index.ts e deno.json). Con --runtime wasm crea una cassa Rust (Cargo.toml, src/lib.rs). Rifiuta un nome esistente.
aura functions serve [name] [--port 54321]
Esegue index.ts o index.js con deno run --allow-net --allow-env --allow-read --watch, quindi la funzione si riavvia quando si salva. Richiede Deno installato; senza di esso, il comando spiega come installarlo. Senza nome, elenca le funzioni locali.
Il server è in ascolto su http://127.0.0.1:<port> e la funzione riceve la richiesta come farebbe in produzione (metodo, percorso, intestazioni, corpo), senza la piattaforma: nessuna intestazione di identità x-aura-*, nessun segreto, nessun limite. PORT e DENO_SERVE_ADDRESS sono impostati per te, quindi un semplice Deno.serve(handler) utilizza la porta scelta.
Una funzione WASM non può essere servita localmente: il comando stampa come distribuirla.
aura functions deploy <name>
Legge index.ts (o index.js) e lo invia al progetto, creando o sostituendo la funzione. I segreti esistenti vengono mantenuti. Per una funzione senza index.ts o index.js, esegue cargo build --target wasm32-unknown-unknown --release e invia il binario compilato.
Una funzione Deno è un singolo file: il comando rifiuta le importazioni relative (./helper.ts, ../lib.ts). Utilizza le importazioni remote (npm:<package> o https://esm.sh/<package>) o incorpora il codice.
aura functions invoke <name> [--data '<json>']
Chiama la funzione distribuita e stampa la busta di risposta. --data è il corpo della richiesta. Un --data che non è un JSON valido è un errore: non viene sostituito da {}.
aura functions list [--json]
Elenca le funzioni locali con il relativo runtime (Deno / TypeScript o Rust / WASM) e, quando un progetto è collegato, quelle distribuite con actif o inactif.
aura functions logs <name> [--limit 50]
Elenca le richieste HTTP recenti per la funzione: ora, metodo, percorso, stato, durata e ID richiesta. non mostra l'output del tuo codice (console.log). Vedi limiti.
aura functions download <name>
Scrive il codice distribuito in aurabase/functions/<name>/: index.ts per una funzione Deno, <name>.wasm per una funzione WASM. L'origine Rust di una funzione WASM non è memorizzata sul server.
aura functions delete <name> [--force]
Elimina la funzione distribuita dopo una conferma. --force (o -f) salta la conferma, necessaria negli script.
3. segreti dell'aura
| Comando | Effetto |
|---|---|
aura secrets list --function <name> [--json] | Elenca le chiavi; i valori sono mascherati (sk_l***) |
aura secrets set --function <name> KEY=VALUE … | Aggiunge o aggiorna le chiavi, mantiene le altre |
aura secrets unset --function <name> KEY … | Rimuove le chiavi |
--function può essere scritto -f. Questi comandi memorizzano i valori come forniti e non li crittografano: vedere segreti e ambiente per il percorso crittografato.