오라 기능과 오라 비밀
옵션, 읽는 파일 및 필요한 환경이 포함된 모든 aura functions 및 aura secrets 명령.
1. 설정
프로젝트와 통신하는 명령에는 세 가지가 필요합니다.
| 필요 | 어떻게 |
|---|---|
| 세션 | 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 | 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-* 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]
시간, 메서드, 경로, 상태, 기간, 요청 ID 등 함수에 대한 최근 HTTP 요청을 나열합니다. 코드(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로 쓸 수 있습니다. 이러한 명령은 지정된 값을 저장하고 암호화하지 않습니다. 암호화된 경로는 비밀 및 환경을 참조하세요.