光环功能和光环秘密
每个 aura functions 和 aura secrets 命令及其选项、它读取的文件以及它所需的环境。
1. 设置
与您的项目交互的命令需要三件事:
| 需要 | 如何 |
|---|---|
| 一次会议 | aura login,然后 aura link --project-id <uuid>,写入 aurabase.toml |
| 项目网址 | 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 | aurabase.toml 的 project_url | 您项目的数据平面 |
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]
使用 deno run --allow-net --allow-env --allow-read --watch运行 index.ts 或 index.js ,因此该函数会在您保存时重新启动。需要安装Deno;如果没有它,该命令将解释如何安装它。它没有名称,但列出了本地函数。
服务器侦听 http://127.0.0.1:<port> 并且该函数接收请求,就像在生产中一样(方法、路径、标头、主体),没有 平台:没有 x-aura-* 身份标头,没有秘密,没有限制。 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。这些命令存储给定的值,并且不对其进行加密:请参阅 秘密和环境 了解加密路径。