Skip to main content
このページは AI コーディングエージェントスキルの一部で、人間ではなくエージェント向けに書かれています。人間向けの Base44 ドキュメントは デベロッパードキュメント を参照してください。

関数の作成

Base44 の関数は Deno 上で実行されるサーバーレスバックエンド関数です。プロジェクト内でローカルに定義され、Base44 バックエンドにデプロイされます。

関数ディレクトリ

すべての関数定義はプロジェクトの base44/functions/ フォルダーに配置する必要があります。最もシンプルな関数は、entry.ts または entry.js ファイルを含むフォルダーです。 構造の例:

関数の作成方法

  1. base44/functions/ に関数名で新しいディレクトリを作成します (kebab-case を使用)
  2. そのディレクトリに entry.ts (または entry.js) を作成します
  3. CLI を使用して関数をデプロイします

関数の検出

CLI は entry.ts または entry.js ファイルから関数を検出します。それらのファイルのいずれかを含むフォルダーが関数です:
関数名は functions ルートからそのフォルダーまでのパスです。例: ルール:
  • entry.ts または entry.jsbase44/functions/ 直下ではなく、名前付きサブフォルダー内にある必要があります
  • 関数フォルダー内のすべての *.js*.ts*.json ファイルはデプロイ時に含まれます
  • パスセグメントにドットを含む関数パスは無視されます

エントリーポイントファイル

関数は Deno 上で実行され、Deno.serve() を使用してエクスポートする必要があります。npm パッケージには npm: プレフィックスを使用します。

Request オブジェクト

関数は標準の Deno Request オブジェクトを受け取ります:
  • req.json() - JSON ボディを解析
  • req.text() - 生のテキストボディを取得
  • req.headers - リクエストヘッダーにアクセス
  • req.method - HTTP メソッド

Response オブジェクト

JSON レスポンスには Response.json() を使用して返します:

完全な例

ディレクトリ構造

entry.ts

サービスロールアクセスの使用

管理者レベルの操作には asServiceRole を使用します:

シークレットの使用

アプリダッシュボードで設定された環境変数にアクセス:

命名規則

  • ディレクトリ名: kebab-case を使用 (例: process-order, send-notification)
  • 関数名: base44/functions/ の下のディレクトリパスから決まります
    • 有効: process-order, orders/process, send_notification, myFunction
    • 無効: process.order, send.notification.v2
  • エントリーファイル: entry.ts または entry.js を使用

関数のデプロイ

関数を作成したら、Base44 にデプロイします:
デプロイの詳細は functions-deploy.md を参照してください。

注意事項

  • 関数は Node.js ではなく Deno ランタイム上で実行されます
  • npm パッケージには npm: プレフィックスを使用します (例: npm:@base44/sdk)
  • 呼び出し元の認証コンテキストを継承するクライアントを取得するには createClientFromRequest(req) を使用します
  • API キーは app ダッシュボードでシークレットを設定します
  • エラーを適切に処理し、適切な HTTP ステータスコードを返してください

よくある間違い

このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。