आभा के कार्य और आभा रहस्य
प्रत्येक aura functions और aura secrets कमांड, इसके विकल्पों, इसके द्वारा पढ़ी जाने वाली फ़ाइलों और इसके लिए आवश्यक वातावरण के साथ।
1. सेटअप
आपके प्रोजेक्ट से बात करने वाले कमांड को तीन चीजों की आवश्यकता होती है:
| ज़रूरत | कैसे |
|---|---|
| एक सत्र | aura login, फिर aura link --project-id <uuid>, जो लिखता है aurabase.toml |
| प्रोजेक्ट यूआरएल | AURA_PROJECT_URL, या project_url aurabase.toml में |
एक service_role कुंजी | AURA_API_KEY या AURA_SERVICE_ROLE_KEY, वातावरण में या .env फ़ाइल में |
| चर | गलती करना | भूमिका |
|---|---|---|
AURA_GATEWAY_URL | https://api.aurabase.cloud | प्रबंधन API का उपयोग login, orgs और projects द्वारा किया जाता है। जब आप किसी अन्य स्टैक के विरुद्ध काम करते हैं तो इसे स्पष्ट रूप से सेट करें: डिफ़ॉल्ट होस्ट किया गया क्लाउड है। |
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]
index.ts या index.js को deno run --allow-net --allow-env --allow-read --watch के साथ चलाता है, इसलिए जब आप सहेजते हैं तो फ़ंक्शन पुनरारंभ हो जाता है। इसे 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 अनुरोध निकाय है। एक --data जो वैध JSON नहीं है, एक त्रुटि है: इसे {} द्वारा प्रतिस्थापित नहीं किया गया है।
aura functions list [--json]
स्थानीय कार्यों को उनके रनटाइम (Deno / TypeScript या Rust / WASM) के साथ सूचीबद्ध करता है और, जब कोई प्रोजेक्ट लिंक होता है, तो तैनात कार्यों को actif या inactif के साथ सूचीबद्ध करता है।
aura functions logs <name> [--limit 50]
फ़ंक्शन के लिए हाल के HTTP अनुरोधों को सूचीबद्ध करता है: समय, विधि, पथ, स्थिति, अवधि और अनुरोध आईडी। यह नहीं आपके कोड का आउटपुट दिखाता है (console.log)। सीमाएं देखें।
aura functions download <name>
Deno फ़ंक्शन के लिए aurabase/functions/<name>/: 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 लिखा जा सकता है। ये आदेश दिए गए मानों को संग्रहीत करते हैं और उन्हें एन्क्रिप्ट नहीं करते हैं: एन्क्रिप्टेड पथ के लिए रहस्य और वातावरण देखें।