各プロジェクトは最大 50 個のバックエンド関数をサポートします。
関数の作成
プロジェクトの functions ディレクトリに TypeScript ファイルとしてバックエンド関数を作成します。デフォルトでは functions ディレクトリはbase44/functions/ ですが、プロジェクト構成でパスをカスタマイズできます。
各関数は、entry.ts または entry.js ファイルを持つ独自のサブディレクトリ内にあります:
functions
<function-name>
entry.ts
functions/sendWelcomeEmail/entry.ts は sendWelcomeEmail という名前の関数を作成します。整理のためにサブディレクトリに関数をネストすることもできます。functions/email/send/entry.ts は email/send という名前の関数を作成します。
構成ファイルの追加
カスタム関数名や自動化などの高度なニーズには、function.jsonc ファイルを追加します:
functions
<function-name>
entry.ts
function.jsonc
| プロパティ | 説明 |
|---|---|
name | オプション。関数の一意の識別子。SDK または HTTP 経由で呼び出すときに使用されます。デフォルトは functions ルートに対する相対ディレクトリパス。 |
entry | 関数コードを含むファイル。 |
automations | オプション。スケジュールまたはデータベースイベントに応じて関数を実行する自動化構成の配列。詳細は自動化を参照してください。 |
entry.ts
コードファイルには関数のロジックが含まれます。関数はDeno.serve() ラッパーを使用し、Response オブジェクトを返す必要があります:
ローカルでテスト
base44 dev を使用して関数をローカルで実行し、デプロイせずに変更をテストします。詳細はローカル開発を参照してください。
関数のデプロイ
すべてのプロジェクトリソースを一度にプッシュするには、functions deploy または deploy で関数をデプロイします。functions deploy <names...> で名前で特定の関数をデプロイしたり、--force を使用してローカルに見つからないリモート関数を削除したりできます。
デプロイされた関数をローカルプロジェクトにダウンロードするには、functions pull を使用してください。現在デプロイされているものを確認するには、functions list を使用してください。
関数の呼び出し
SDK を使用してフロントエンドからバックエンド関数を呼び出すか、webhook と外部インテグレーション用に HTTP 経由で呼び出します。SDK 経由
フロントエンドから関数を呼び出すにはbase44.functions.invoke() を使用してください。SDK は認証を自動的に処理し、現在のユーザーの認証情報を関数に渡します。
HTTP 経由
デプロイされた各関数には、以下に HTTP エンドポイントが提供されます:- Webhook: Stripe や GitHub などの外部サービスからのコールバックを受信。
- 外部インテグレーション: 他のシステムがアプリと対話できるようにします。
- テスト: cURL や Postman などのツールで関数を直接呼び出し。
直接 HTTP (cURL や webhook など) で関数を呼び出す場合、認証済みのユーザーコンテキストはありません。これらの場合、すべての操作に
asServiceRole を使用してください。関数内で SDK を使用する
バックエンド関数内では、Base44 SDK を介してアプリのデータ、認証、インテグレーションにアクセスできます。受信リクエストからクライアントを作成するにはcreateClientFromRequest() を使用してください。
認証コンテキストは関数の呼び出し方法によって異なります:
-
フロントエンドから SDK 経由で呼び出されたとき: ユーザーの認証が自動的に渡されます。
base44.auth.me()で現在のユーザーにアクセスし、その権限で操作を実行できます。管理者レベルの操作にはasServiceRoleを使用してください。 -
直接 HTTP (cURL、webhook、外部サービス) 経由で呼び出されたとき: 認証済みユーザーはないため、すべての操作に
asServiceRoleを使用してください。
サードパーティ API に接続
バックエンド関数は、サードパーティ API に接続するいくつかの方法の 1 つです。リクエストを完全に制御する必要がある場合、または API キーを環境変数として安全に保存したい場合に最適です。CLI から環境変数を設定するにはsecrets set を使用してください。
ログの表示
ローカル開発中、関数の出力はlogs コマンドを必要とせずに直接ターミナルに出力されます。
デプロイされた関数については、logs コマンドでログを表示してください。ログにはコンソール出力、エラー、タイミング情報が含まれます。関数名または時間範囲でフィルタリングできます。AI コーディングエージェントを使用している場合、base44-troubleshooter skill がこれらのログを自動的に取得して分析できます。
TypeScript 型
関数構成から TypeScript 型を生成して、SDK コード内の関数名に対する型安全性とオートコンプリートを取得します。ダイナミック型について詳しく学んでください。関連項目
- Automations: 関数をスケジュールするか、データベースイベントでトリガー
functionsmodule: 関数を呼び出すための SDK リファレンスcreateClientFromRequest: バックエンド関数でクライアントを作成functions deploy: ローカル関数を Base44 にデプロイfunctions pull: デプロイされた関数をローカルプロジェクトにダウンロードfunctions list: すべてのデプロイされた関数をリストfunctions delete: デプロイされた関数を削除logs: 関数ログを表示exec: スタンドアロンスクリプトから分離して関数をテスト
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。

