オーラベースのロゴ
オーラベースドキュメント
ドキュメント›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コンソールセッション (スタジオ)以下の各ルート

他のルートは、 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_atISO8601
#
管理する

2. 機能

メソッドとパス役割本体応答
GET /v1/functionsサービスの役割なし関数オブジェクトの配列
POST /v1/functionsサービスの役割{ name, runtime, code, env_vars? }関数オブジェクト
GET /v1/functions/{name}サービスの役割なし関数オブジェクト。 {name} は名前、またはその名前を持つ関数がない場合は ID です。
PATCH /v1/functions/{name}サービスの役割{ code?, env_vars?, is_active?, permissions? }関数オブジェクト
DELETE /v1/functions/{name}サービスの役割なし{ "data": null }
GET /v1/functions/{name}/codeサービスの役割なし{ "data": { "code": "…" } }
GET /v1/functions/{name}/envサービスの役割なし{ "data": [ { "key", "value" } ] }、値は復号化されました
PUT /v1/functions/{name}/envサービスの役割{ "vars": [ { "key", "value" } ] }{ "data": null }

注:

  • POST は nameに対する更新/挿入です。既存の名前を投稿すると、そのコードが置き換えられます。その本体内の 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 は関数のステータスです。 denoの場合、 logs は空です。 raw モードでは、応答は関数独自のものになります (ステータス、 content-type、バイト、および x-aurabase-invoke-origin: function)。

失敗ステータスerror.code
機能が見つからないか、非アクティブです404NOT_FOUND
ランタイムに到達できません503SERVICE_UNAVAILABLE
プラットフォームはランタイムの待機を停止しました (timeout_secs にマージンを加えた後)504TIMEOUT
プランのクォータが使い果たされた403QUOTA_EXCEEDED
1 人のクライアントからの電話が多すぎる429rate_limit_exceeded
約256 KiB以上の本体503SERVICE_UNAVAILABLE
#
背景

4. ジョブと配信不能キュー

メソッドとパス役割本文またはクエリ応答
POST /v1/functions/jobsサービスの役割{ function_name, payload?, delay_secs?, max_attempts? }仕事
GET /v1/functions/jobsサービスの役割?status=&limit= (1 ~ 500、デフォルトは 50)ジョブの配列
GET /v1/functions/jobs/{id}サービスの役割なし仕事
POST /v1/functions/jobs/{id}/retryサービスの役割なしジョブ、pending に戻る
GET /v1/functions/jobs/dlqサービスの役割?limit=死んだジョブの配列
POST /v1/functions/jobs/dlq/requeueサービスの役割なし{ "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/cronサービスの役割{ name, schedule, function_name, payload? }cron エントリ
GET /v1/functions/cronサービスの役割なしエントリの配列
DELETE /v1/functions/cron/{name}サービスの役割なし{ "data": null }、または不明な 名の場合は 404

エントリ: id、 project_id、 name、 schedule (6 つのフィールドで保存)、 function_name、 payload、 is_active、 last_run、 next_run、 created_at。

#
モニター

6. アラート

メソッドとパス役割本文またはクエリ
POST /v1/functions/alertsサービスの役割{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsサービスの役割なし
PATCH /v1/functions/alerts/{id}サービスの役割{ "enabled": true }
DELETE /v1/functions/alerts/{id}サービスの役割なし
GET /v1/functions/alerts/{id}/eventsサービスの役割?limit=&offset=
GET /v1/functions/alerts/eventsサービスの役割?limit=&offset=

値と動作: アラート。