オーラの機能とオーラの秘密
すべての aura functions および aura secrets コマンドとそのオプション、読み取られるファイル、および必要な環境。
1. セットアップ
プロジェクトと対話するコマンドには、次の 3 つのものが必要です。
| 必要 | どうやって |
|---|---|
| セッション | aura login、次に aura link --project-id <uuid>、これは aurabase.toml を書き込みます |
| プロジェクトの URL | AURA_PROJECT_URL、または aurabase.toml の project_url |
service_role キー | AURA_API_KEY または AURA_SERVICE_ROLE_KEY、環境内または .env ファイル内 |
| 変数 | デフォルト | 役割 |
|---|---|---|
AURA_GATEWAY_URL | https://api.aurabase.cloud | login、 orgs 、 projectsによって使用される管理 API。 別のスタックに対して作業する場合は明示的に設定します: デフォルトはホストされたクラウドです。 |
AURA_PROJECT_URL | project_url/aurabase.toml | プロジェクトのデータプレーン |
AURA_STUDIO_URL | http://localhost:3000 | aura studio によってスタジオがオープンしました |
AURA_GATEWAY_URLがない場合、 aura login および aura projects create は https://api.aurabase.cloudと通信します。テストする前に、独自のスタックの URL をエクスポートします。
2. オーラの機能
aura functions new <name> [--runtime deno|wasm]
aurabase/functions/<name>/を作成します。デフォルトのランタイムは deno ( index.ts および deno.jsonを含むTypeScript テンプレート) です。 --runtime wasm を使用すると、 Rust クレート (Cargo.toml、 src/lib.rs) が作成されます。既存の名前を拒否します。
aura functions serve [name] [--port 54321]
index.ts または index.js を deno run --allow-net --allow-env --allow-read --watchとともに実行するため、保存時に関数が再起動されます。 Deno がインストールされている必要があります。これがない場合、コマンドはインストール方法を説明します。名前は付けずに、ローカル関数をリストします。
サーバーは http://127.0.0.1:<port> をリッスンし、関数は本番環境と同じようにリクエスト (メソッド、パス、ヘッダー、ボディ) を受信します。プラットフォームは必要ありません。x-aura-* ID ヘッダー、シークレット、制限はありません。 PORT と DENO_SERVE_ADDRESS が自動的に設定されるため、プレーンな Deno.serve(handler) は選択されたポートを使用します。
WASM 関数はローカルで提供できません。コマンドはそのデプロイ方法を出力します。
aura functions deploy <name>
index.ts (または index.js) を読み取り、それをプロジェクトに送信し、関数を作成または置換します。既存の秘密は保持されます。 index.ts または index.jsのない関数の場合、 cargo build --target wasm32-unknown-unknown --release が実行され、コンパイルされたバイナリが送信されます。
Deno 関数は単一のファイルです。このコマンドは相対インポート (./helper.ts、 ../lib.ts) を拒否します。リモート インポート (npm:<package> または https://esm.sh/<package>) を使用するか、コードをインライン化します。
aura functions invoke <name> [--data '<json>']
デプロイされた関数を呼び出し、応答エンベロープを出力します。 --data はリクエストの本文です。有効な JSON ではない --data はエラーです。これは {}に置き換えられません。
aura functions list [--json]
ローカル関数とそのランタイム (Deno / TypeScript または Rust / WASM) をリストし、プロジェクトがリンクされている場合は、デプロイされた関数を actif または inactifでリストします。
aura functions logs <name> [--limit 50]
関数に対する最近の HTTP リクエスト (時間、メソッド、パス、ステータス、期間、リクエスト ID) をリストします。コードの出力 (console.log) は表示されません。 の制限を参照してください。
aura functions download <name>
デプロイされたコードを aurabase/functions/<name>/に書き込みます。 Deno 関数の場合は index.ts、 WASM 関数の場合は <name>.wasm です。 WASM 関数の Rust ソースはサーバーに保存されません。
aura functions delete <name> [--force]
確認後、デプロイされた関数を削除します。 --force (または -f) は、スクリプトで必要な確認をスキップします。
3. オーラの秘密
| コマンド | 効果 |
|---|---|
aura secrets list --function <name> [--json] | キーをリストします。値はマスクされます (sk_l***) |
aura secrets set --function <name> KEY=VALUE … | キーを追加または更新し、他のキーは保持します |
aura secrets unset --function <name> KEY … | キーを削除します |
--function は -fと書くこともできます。これらのコマンドは値を指定どおりに保存し、暗号化しません。暗号化されたパスについては、シークレットと環境 を参照してください。