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

Edge Functions HTTP API 참조

각 경로에 필요한 역할을 포함하는 기능 서비스의 전체 HTTP 표면입니다.

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

1. 협약

기본 URL. 프로젝트의 URL입니다(예: https://my-app.aurabase.cloud). 프로젝트는 호스트로 식별되므로 아래 경로에는 프로젝트 ID가 없습니다. 긴 형식의 /v1/functions/{project_id}/…도 허용됩니다.

인증. apikey 헤더에 키를 보냅니다. 로그인한 사용자로 호출하려면 Authorization: Bearer <JWT>를 추가하세요. Studio는 콘솔 세션 토큰을 사용하여 동일한 경로를 호출하여 admin 역할을 부여합니다.

역할어떻게 얻나요?전화할 수도 있음
anon프로젝트의 공개 키POST …/invoke
authenticated공개 키와 사용자의 JWTPOST …/invoke
service_roleservice_role 키(서버 전용)아래의 모든 경로
admin콘솔 세션(Studio)아래의 모든 경로

다른 경로는 403에서 anon 및 authenticated로 응답합니다.

403json
{ "error": { "code": "FORBIDDEN", "type": "forbidden", "request_id": "…",
  "message": "Accès interdit : Opération réservée au rôle service_role : seule l'invocation d'une fonction est ouverte aux clés publiques" } }

형식. 본문은 JSON이며 Content-Type: application/json가 필요합니다. 성공은 { "data": …, "meta": null }입니다. 실패는 { "error": { "code", "message", "type", "request_id" } }입니다.

함수 개체.

필드유형
id, project_id, name문자열
runtime"deno" 또는 "wasm"
code문자열deno의 소스; wasm에 대해 컴파일된 바이너리의 base64
code_hash문자열code의 SHA-256
env_vars물체가치의 핵심
permissions물체allow_net(문자열 배열), memory_mb, timeout_secs
is_active부울
created_at, updated_atISO 8601
#
관리하다

2. 기능

방법 및 경로역할본체응답
GET /v1/functionsservice_role없음함수 객체 배열
POST /v1/functionsservice_role{ name, runtime, code, env_vars? }함수 객체
GET /v1/functions/{name}service_role없음함수 객체. {name}는 이름이거나 해당 이름을 가진 함수가 없는 경우 ID입니다.
PATCH /v1/functions/{name}service_role{ code?, env_vars?, is_active?, permissions? }함수 객체
DELETE /v1/functions/{name}service_role없음{ "data": null }
GET /v1/functions/{name}/codeservice_role없음{ "data": { "code": "…" } }
GET /v1/functions/{name}/envservice_role없음{ "data": [ { "key", "value" } ] }, 값이 해독됨
PUT /v1/functions/{name}/envservice_role{ "vars": [ { "key", "value" } ] }{ "data": null }

참고:

  • POST는 name에 대한 upsert입니다. 기존 이름을 게시하면 해당 코드가 대체됩니다. 해당 본문의 env_vars 필드는 기존 변수를 대체합니다. 유지하려면 이를 생략하세요.
  • PATCH에서 permissions 는 필드별로 병합됩니다. { "permissions": { "timeout_secs": 60 } } 는 allow_net 및 memory_mb를 유지합니다. 범위 밖의 필드는 400를 반환합니다.
  • PUT …/env는 전체 변수 세트를 대체하며 이를 암호화하는 유일한 경로입니다. 비밀을 참조하세요.
  • is_active: false이 있는 함수는 invoke 또는 작업에서 찾을 수 없습니다.
deploy.shbash
curl -X POST "$AURA_URL/v1/functions" \
  -H "apikey: $AURA_SERVICE_ROLE_KEY" -H "Content-Type: application/json" \
  -d '{"name":"hello","runtime":"deno","code":"Deno.serve(() => new Response(\"ok\"))"}'
#
전화

3. 호출

POST /v1/functions/{name}/invoke. 역할: anon, authenticated 또는 service_role.

필드유형기본값
method문자열POST함수가 보는 HTTP 메소드
path문자열/함수가 본 경로
headers물체없음함수에 제공된 헤더입니다. 예약된 헤더는 삭제됩니다.
body모든 JSON없음함수에 주어진 본문
요청 헤더
apikey필수
Content-Type: application/json필수
Authorization: Bearer <JWT>선택 사항: 해당 사용자로 전화
X-Aurabase-Invoke-Mode: raw선택사항: 함수 자체 응답을 반환합니다.

기본 응답은 항상 200입니다.

200json
{ "data": { "status": 200, "headers": { "content-type": "application/json" },
  "body": { "greeting": "Hello, Ada!" }, "logs": [], "duration_ms": 74 }, "meta": null }

status는 함수의 상태입니다. logs은 deno에 대해 비어 있습니다. 원시 모드에서 응답은 함수 고유의 상태, content-type, 바이트, x-aurabase-invoke-origin: function입니다.

실패상태error.code
기능을 찾을 수 없거나 비활성화되었습니다.404NOT_FOUND
런타임에 도달할 수 없음503SERVICE_UNAVAILABLE
플랫폼이 런타임 대기를 중지했습니다(timeout_secs 및 여백 이후).504TIMEOUT
계획 할당량이 소진되었습니다.403QUOTA_EXCEEDED
한 고객의 통화가 너무 많습니다.429rate_limit_exceeded
약 256KiB 이상의 본체503SERVICE_UNAVAILABLE
#
배경

4. 작업 및 배달 못한 편지 대기열

방법 및 경로역할본문 또는 쿼리응답
POST /v1/functions/jobsservice_role{ function_name, payload?, delay_secs?, max_attempts? }직업
GET /v1/functions/jobsservice_role?status=&limit= (1 ~ 500, 기본값 50)다양한 직업
GET /v1/functions/jobs/{id}service_role없음직업
POST /v1/functions/jobs/{id}/retryservice_role없음작업, pending로 돌아가기
GET /v1/functions/jobs/dlqservice_role?limit=죽은 직업의 배열
POST /v1/functions/jobs/dlq/requeueservice_role없음{ "data": { "requeued": 1 } }

작업 개체: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. 동작: 작업, cron 및 배달 못한 편지 대기열.

#
일정

5. 크론

방법 및 경로역할본체응답
POST /v1/functions/cronservice_role{ name, schedule, function_name, payload? }크론 항목
GET /v1/functions/cronservice_role없음항목 배열
DELETE /v1/functions/cron/{name}service_role없음{ "data": null }또는 알 수 없는 이름의 경우 404

항목: id, project_id, name, schedule (6개 필드로 저장됨), function_name, payload, is_active, last_run, next_run, created_at.

#
모니터

6. 경고

방법 및 경로역할본문 또는 쿼리
POST /v1/functions/alertsservice_role{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsservice_role없음
PATCH /v1/functions/alerts/{id}service_role{ "enabled": true }
DELETE /v1/functions/alerts/{id}service_role없음
GET /v1/functions/alerts/{id}/eventsservice_role?limit=&offset=
GET /v1/functions/alerts/eventsservice_role?limit=&offset=

값 및 동작: 경고.

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