ऑराबेस लोगो
aurabaseडॉक्स
डॉक्स›Edge Functions›SDK reference

जावास्क्रिप्ट एसडीके: फ़ंक्शन

aura.functions की प्रत्येक विधि, उसके हस्ताक्षर, उसे आवश्यक भूमिका और वह क्या लौटाता है।

8 मि॰ पढ़ें·स्तर संदर्भ·12 अक्टू॰ 2026 पर संशोधित
यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.
#
स्थापित करना

1. ग्राहक प्राप्त करें

aura.functions एक FunctionsService है। आप इसे लगभग कभी भी स्वयं नहीं बनाते हैं।

client.tstypescript
import { createClient } from '@aurabase/aurabase-js'

const aura = createClient('https://my-app.aurabase.cloud', 'aura_anon_…')
aura.functions.invoke('hello')

पैकेज @aurabase/functions @aurabase/aurabase-js के साथ स्थापित है। इसे अकेले ही इंस्टॉल करें यदि आप @aurabase/core से अपना क्लाइंट बनाते हैं। इसके लिए Node.js 20 या बाद के संस्करण की आवश्यकता होती है और ES मॉड्यूल और CommonJS को प्रकार की घोषणाओं के साथ शिप किया जाता है।

प्रत्येक विधि Promise<AuraResponse<T>> लौटाती है, एक वस्तु { data, error } जो कभी नहीं फेंकती:

मामलाdataerror
सफलतामूल्यnull
सामग्री के बिना सफलता (204, खाली शरीर)nullnull
असफलताnullएक AuraError

जब आपको मूल्य की आवश्यकता हो तो error के बजाय data का परीक्षण करें: केवल तभी TypeScript को पता चलता है कि यह null नहीं है।

तरीकाभूमिका की आवश्यकता है
invokeसार्वजनिक कुंजी (anon), उपयोगकर्ता, या service_role
हर दूसरी विधिservice_role (केवल सर्वर)
#
पुकारना

2. आह्वान करें

signaturetypescript
invoke<T = unknown>(
  name: string,
  options?: {
    body?: unknown
    method?: string
    path?: string
    headers?: Record<string, string>
    signal?: AbortSignal
    timeout?: number
    responseType?: 'json' | 'text' | 'blob' | 'arrayBuffer'
  },
): Promise<AuraResponse<T>>
विकल्पगलती करना
bodyकोई नहींJSON-क्रमबद्ध। एक Blob, ArrayBuffer, टाइप किया गया ऐरे, FormData, URLSearchParams या ReadableStream बिना किसी अनुरोध के त्रुटि invalid_body लौटाता है।
method'POST'फ़ंक्शन जिस विधि को देखता है
path'/'फ़ंक्शन जो पथ देखता है
headersकोई नहींसमारोह को हेडर दिए गए। authorization, apikey, x-request-id और x-aura-* को प्लेटफॉर्म द्वारा हटा दिया जाता है।
timeoutक्लाइंट डिफ़ॉल्ट, 30 सेकंडमिलीसेकंड. कॉल रद्द करता है और कोड timeout लौटाता है।
signalकोई नहींआपका अपना AbortSignal. रद्द की गई कॉल कोड timeout लौटाती है।
responseType'json'data को कैसे डिकोड किया जाता है: एक पार्स किया गया मान, एक स्ट्रिंग, एक Blob या एक ArrayBuffer

name URL में एन्कोड किया गया है, इसलिए /, ? या # वाला मान अपना स्थान नहीं छोड़ सकता। ऐसा नाम जिसमें ऐसे अक्षर हों, आसानी से नहीं मिलता।

invoke पहले समाप्त हो चुके उपयोगकर्ता सत्र को ताज़ा करता है, एक होने पर उपयोगकर्ता का JWT भेजता है, और कभी भी कॉल का पुनः प्रयास नहीं करता है।

इसका उपयोग कैसे करें: एक फ़ंक्शन प्रारंभ करें। यह कैसे विफल होता है: त्रुटियाँ, टाइमआउट और पुनः प्रयास।

#
प्रबंधित करना

3. सूची बनाएं और प्राप्त करें

signaturestypescript
list(): Promise<AuraResponse<FunctionDef[]>>
get(nameOrId: string): Promise<AuraResponse<FunctionDef>>

दोनों को service_role कुंजी की आवश्यकता है। get नाम या आईडी स्वीकार करता है; यदि किसी फ़ंक्शन को आईडी की तरह नाम दिया गया है, तो नाम जीत जाता है। FunctionDef में स्रोत कोड और फ़ंक्शन के वेरिएबल शामिल होते हैं, यही कारण है कि सार्वजनिक कुंजी 403 प्राप्त करती है।

किसी फ़ंक्शन को तैनात करने, अद्यतन करने या हटाने या रहस्य लिखने की कोई विधि नहीं है: HTTP API या CLI का उपयोग करें।

#
पृष्ठभूमि

4. नौकरियाँ

signaturestypescript
enqueueJob(
  functionName: string,
  options?: { payload?: unknown; delaySecs?: number; maxAttempts?: number },
): Promise<AuraResponse<Job>>

listJobs(options?: { status?: string; limit?: number }): Promise<AuraResponse<Job[]>>
getJob(jobId: string): Promise<AuraResponse<Job>>
  • enqueueJob बिना किसी अनुरोध के { code: 'bad_request', status: 400 } लौटाता है जब functionName खाली होता है या केवल रिक्त स्थान होता है, और अन्यथा नाम काट देता है।
  • listJobs status (pending, running, completed, failed, dead) पर फ़िल्टर करता है और 1 से 500 नौकरियों के बीच रिटर्न देता है, डिफ़ॉल्ट रूप से 50।
  • मृत नौकरियों को पुनः प्रयास करने की कोई विधि नहीं है: मृत-अक्षर कतार देखें।
#
अनुसूची

5. क्रोन

signaturestypescript
listCronJobs(): Promise<AuraResponse<CronJob[]>>
createCronJob(
  name: string,
  schedule: string,
  functionName: string,
  options?: { payload?: unknown },
): Promise<AuraResponse<CronJob>>
deleteCronJob(name: string): Promise<AuraResponse<null>>

schedule में UTC में 5 या 6 फ़ील्ड हैं। deleteCronJob नाम लेता है, और अज्ञात नाम के लिए 404 लौटाता है। कोई getCronJob या updateCronJob नहीं है।

#
संदर्भ

6. प्रकार एवं त्रुटियाँ

@aurabase/aurabase-js और @aurabase/functions द्वारा निर्यात किया गया:

importstypescript
import {
  FunctionsHttpError,
  FunctionsRelayError,
  isRelayStatus,
  type FunctionsResponseType,
} from '@aurabase/aurabase-js'
निर्यातयह क्या है
FunctionsHttpErrorआपके फ़ंक्शन (या प्रबंधन मार्ग) ने एक त्रुटि के साथ उत्तर दिया। error.context लौटाए गए शरीर को धारण करता है।
FunctionsRelayErrorप्लेटफ़ॉर्म विफल: नेटवर्क (status 0) या 502, 503, 504 गेटवे या रनटाइम द्वारा निर्मित।
isRelayStatus(status)0, 502, 503, 504 के लिए true।
FunctionsResponseType`'json' \

दोनों त्रुटि वर्ग AuraError का विस्तार करते हैं, इसलिए isAuraError(error) सत्य है। AuraError में status, code, message, details, retryAfter और गेटर्स isNotFound, isUnauthorized, isForbidden और isRateLimited हैं।

डेटा प्रकार, @aurabase/aurabase-js द्वारा निर्यात किए गए:

प्रकारखेत
FunctionDefid, project_id, name, runtime, code, code_hash, env_vars, permissions, is_active, created_at, updated_at
FunctionPermissionsallow_net: string[], memory_mb: number, timeout_secs: number
Jobid, project_id, function_name, status, payload, attempts, max_attempts, error?, scheduled_at, started_at?, created_at, completed_at?
CronJobid, project_id, name, schedule, function_name, payload, is_active, last_run?, next_run?, created_at
AuraResponse<T>{ data, error, meta? }
पिछड़े-संगत गुण

जब कोई फ़ंक्शन JSON ऑब्जेक्ट लौटाता है, तो data में दो गैर-गणना योग्य गुण भी होते हैं, body और status, जो पुराने संस्करणों के विरुद्ध लिखे गए कोड के लिए रखे जाते हैं। नए कोड में उन पर भरोसा न करें.