オーラベースのロゴ
オーラベースドキュメント
ドキュメント›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 が型宣言とともに同梱されます。

すべてのメソッドは Promise<AuraResponse<T>>を返します。これは、決してスローされないオブジェクト { data, error } です。

ケース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)true ( 0、 502、 503、 504)。
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 は、古いバージョンに対して作成されたコード用に保持されている 2 つの列挙不可能なプロパティ body と statusも保持します。新しいコードではそれらに依存しないでください。