function.jsonc ファイルで設定します。entry.ts または entry.js ファイルのみがある場合は、自動化を使用するためにこの設定ファイルを追加する必要があります。deploy または functions deploy を実行すると、自動化は関数コードと一緒にアトミックにデプロイされます。
自動化のタイプ
Base44 は 4 種類の自動化をサポートしています:- cron によるスケジュールされた自動化: 正確なスケジュール制御のために cron 式を使用します。
- シンプルスケジュールによるスケジュールされた自動化: cron 式なしで間隔で繰り返しタスクを設定します。
- エンティティイベント自動化: データベースレコードが作成、更新、または削除されたときに関数をトリガーします。
- コネクター自動化: Gmail の新しいメールや Google Drive のファイル変更など、接続されたサービスのイベントにリアルタイムで応答します。
共通フィールド
すべての自動化に共通のフィールド
すべての自動化タイプは、次のフィールドを共有します:スケジュールされた自動化に共通のフィールド
cron とシンプルなスケジュールされた自動化の両方は、これらの追加フィールドを共有します:自動化の設定
function.jsonc ファイルで、以下のアプローチのいずれかを使用して自動化を設定します。すべての自動化は、上記のすべての自動化に共通のフィールドと、各タイプ固有のフィールドを使用します。
Cron
すべての自動化に共通のフィールドとスケジュールされた自動化に共通のフィールドに加えて、ここにリストされている cron 固有のフィールドを使用します。 正確なスケジュール制御のために cron 式を使用するには、type を "scheduled"、schedule_type を "cron" に設定します。
cron 自動化は、標準の 5 フィールド構文を使用します: minute hour day-of-month month day-of-week。インタラクティブな cron 式エディタと構文リファレンスについては、crontab.guru を参照してください。
Cron の例
この例では、関数を毎日 UTC 真夜中に実行します:シンプルスケジュール
すべての自動化に共通のフィールドとスケジュールされた自動化に共通のフィールドに加えて、ここにリストされているシンプルスケジュールフィールドを使用します。 簡単なスケジューリングニーズにはtype を "scheduled"、schedule_type を "simple" に設定します。
cron 式を書かずに、分、時間、日、週、または月などの間隔で繰り返しタスクを設定できます。
シンプルスケジュールの例
以下の例は、シンプルスケジュールで自動化をスケジュールするさまざまな方法を示しています:エンティティイベント
すべての自動化に共通のフィールドに加えて、ここにリストされているエンティティイベントフィールドを使用します。 データベースレコードが作成、更新、または削除されたときに関数を自動的にトリガーするには、type を "entity" に設定します。
エンティティ自動化は、特定のエンティティで 1 つまたは複数のイベントタイプをリッスンできます。
エンティティイベントの例
以下の例は、エンティティイベントに基づいて関数をトリガーする方法を示しています:コネクター自動化
すべての自動化に共通のフィールドに加えて、ここにリストされているコネクター固有のフィールドを使用します。 接続されたインテグレーションが webhook イベントを送信したときに関数をトリガーするには、type を "connector" に設定します。これらを使用して、外部サービスのアクティビティにリアルタイムで反応します。例えば、新しいメールを解析したり、カレンダーの変更を同期したり、Google Drive のファイル更新に応答したりできます。
トリガー条件をオプションで追加して、定義したルールにペイロードが一致する場合のみ関数が実行されるようにイベントをフィルタリングできます。
コネクター自動化が発火すると、関数はイベントタイプ、インテグレーションの詳細、外部サービスからの生データを含む構造化された webhook ペイロードを受信します。
コネクターは、デプロイ前にプロジェクトで構成され、認可されている必要があります。セットアップ手順については、共有コネクターを参照してください。
サポートされるインテグレーションとイベント
Slack コネクター自動化にはトリガー条件が必要です。Slack コネクター自動化に条件が設定されていない場合、デプロイは失敗します。
リソース ID の形式
resource_id の予想値はコネクターによって異なります:
- Google Drive: ファイル ID。ファイルスコープイベント (
file、file.update、file.trash、file.untrash、file.delete) に必要。 - Gmail: 監視するラベル ID のカンマ区切りリスト。省略した場合はデフォルトで
"INBOX"。 - Microsoft Teams: 特定のチャンネルを監視するには
{teamId}/{channelId}、特定のチャットを監視するには{chatId}。 - SharePoint: 特定のリストを監視するには
{siteId}/{listId}。
トリガー条件
trigger_conditions を使用して、定義したルールにペイロードが一致する場合のみ関数が実行されるように webhook イベントをフィルタリングします。条件が設定されていない場合、関数はすべての受信イベントで実行されます。完全な構成については、コネクター自動化の例を参照してください。
string
条件を結合する方法。可能な値:
"and" (すべて一致する必要があります)、"or" (いずれかが一致する必要があります)。デフォルトは "and"。array
必須
1 つ以上の条件オブジェクトまたはネストされた条件グループ。最大 20 個の葉条件と 5 レベルのネスト。
Webhook ペイロード
コネクター自動化が関数をトリガーすると、リクエストボディには次の構造のpayload オブジェクトが含まれます。ペイロードを読み取る関数については、コネクター自動化の例を参照してください。
コネクター自動化の例
関数引数
自動化設定にfunction_args フィールドを含めることで、関数がトリガーされたときにデータを渡すことができます。これは、1 つの関数が異なる動作で複数の自動化を処理する場合に役立ちます。例えば、15 分ごとに増分実行されるが日次でフルシンクを行う同期関数などです。
これらの引数は、リクエストボディを介して関数コード内でアクセスできます。
関数引数の例
この例は、自動化設定に基づいて増分とフルシンクモードの両方を処理する関数を示しています:自動化のデプロイ
CLIfunctions deploy コマンドまたは統合 deploy コマンドを使用して、自動化付きのバックエンド関数をデプロイします。functions deploy <names...> で名前で特定の関数をデプロイできます。
デプロイは関数ごとにアトミックです。関数は、Deno デプロイメントとそのすべての自動化の両方が成功した場合にのみデプロイされたと見なされます。自動化のデプロイに失敗した場合、関数のデプロイ全体がロールバックされます。
デプロイ後、CLI は関数ごとのステータスを表示します: deployed、unchanged、または error。
ダッシュボードで自動化を管理する
Automations タブの下で Base44 ダッシュボードで自動化を表示・管理できます。ダッシュボードから次のことができます:- 実行ログと履歴を表示
- テストのために自動化を手動で実行
- 自動化のステータスを監視
関連項目
- Backend Functions: バックエンド関数について学ぶ
functions deploy: 自動化付き関数をデプロイdeploy: すべてのリソースを一度にデプロイlogs: 関数ログを表示
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。