ファンクションのタイプ
Craft Functions はKARTE Craftが提供する汎用プログラム実行機能です。 Craft Functionsで実行するプログラムを ファンクション と呼びます。
Craft Functionsのファンクションには、次の2つの タイプ があります。
- HTTPタイプ:ファンクション固有のURLエンドポイントにHTTPリクエストを送信し、ファンクションを実行します。
- イベント駆動タイプ:KARTE内外で発生するイベントトリガーによってファンクションを実行します。
KARTEのアクション内のスクリプトや、KARTE外部のシステムからファンクションを実行する場合は、HTTPタイプのファンクションを使用します。KARTE内外で発生するイベントをきっかけにファンクションを実行する場合は、イベント駆動タイプのファンクションを使用します。
HTTPタイプ
HTTPタイプ のファンクションは、固有のURLエンドポイントから実行できるファンクションです。
ファンクション実行の流れは次のとおりです。
- ファンクションを実行するクライアントはHTTPリクエストを送信します。
- ファンクションはクライアントからHTTPリクエストの情報(ヘッダー、リクエストボディなど)を受け取り、処理を行います。
- ファンクションは処理結果をHTTPレスポンスとしてクライアントに返却します。
HTTPタイプのファンクションは処理が終了したことをHTTPレスポンスで返せるため、クライアントはファンクションを同期的に実行できます。
HTTPタイプのファンクションの記法・ルールについては HTTPタイプのファンクションを作成する を参照してください。
イベント駆動タイプ
イベント駆動タイプ のファンクションは、特定のイベントをトリガーとして実行します。
ファンクション実行の流れは次のとおりです。
- KARTE内外でイベントが発生すると、それをトリガーとしてファンクションが起動します。
- ファンクションはコードを実行します。コード内ではトリガーとして受け取った情報が使えます。
イベント駆動タイプのファンクションは、HTTPタイプとは異なり、トリガーの発生元に処理結果を返却しません(エンドポイントを除く)。したがって、ファンクションは非同期的な実行となります。
イベント駆動タイプのファンクションの記法・ルールについては イベント駆動タイプのファンクションを作成する を参照してください。
ファンクションの種類に関する注意
ファンクションの種類に関する注意点は次のとおりです。
- ファンクションのタイプは、ファンクションの作成時にのみ指定できます。すでに作成済のファンクションの種類は変更できません。
- ファンクションのタイプによって一部記法が異なります。詳細は各タイプのドキュメントで説明します。