아우라베이스 로고
아우라베이스문서
문서›Edge Functions›SDK reference

JavaScript SDK: 함수

aura.functions의 모든 메소드, 서명, 필요한 역할 및 반환되는 내용.

8분 읽기·레벨 참조·2026. 10. 12.에 개정됨
이 영어 텍스트는 프랑스어 원본에서 자동으로 생성되었으며 아직 검토되지 않았습니다.
이 페이지는 자동으로 번역되었습니다. 영어 버전은 권위가 있습니다.
#
설정

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를 제공합니다.

모든 메소드는 다음을 발생시키지 않는 객체 { data, error }인 Promise<AuraResponse<T>>를 반환합니다.

케이스dataerror
성공가치null
내용 없는 성공(204, 빈 본문)nullnull
실패nullAuraError

값이 필요할 때 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는 이름 또는 ID를 허용합니다. 함수의 이름이 ID와 같으면 이름이 우선합니다. 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는 functionName가 비어 있거나 공백만 있는 경우 요청 없이 { code: 'bad_request', status: 400 }을 반환하고 그렇지 않으면 이름을 자릅니다.
  • 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)는 true입니다. 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도 전달합니다. 새 코드에서는 이에 의존하지 마세요.

마지막 업데이트 · 2026. 10. 12.