トリガーは、関数をトリガーする方法です。 イベント駆動型コンピューティングモデルでは、イベントソースはイベントプロデューサであり、関数はイベントプロセッサである。 トリガは、異なるイベントソースを集中的に管理するために使用される。 トリガーに定義されたルールに一致するイベントが発生すると、イベントソースはトリガーに関連付けられた関数を呼び出します。
トリガーとは何ですか?
Function Computeは、関数の実行がイベントによって駆動されるコンピューティングモデルを提供します。 関数の実行は、function Computeコンソールで、またはSDKやその他のイベントソースによってトリガーできます。 関数でトリガーを作成できます。 トリガーにはルールのセットが含まれています。 ルールを満たすイベントが発生すると、イベントソースは関連する関数をトリガーします。
トリガーを使用して複数の関数をトリガーする必要がある場合は、Function ComputeをCloudFlowと一緒に使用できます。 関数がトリガーされたときに、関数がCloudFlowプロセスを開始するように指定できます。 プロセスでは複数の関数を呼び出すことができます。 詳細については、「デモ」をご参照ください。
サンプルシナリオ
シナリオ1: OSSに保存されているイメージのステータスが変化したときに関数の実行をトリガーする
アプリケーションは、Object Storage Service (OSS) に画像を保存します。 関数を呼び出して、画像をダウンロードして処理することができます。 この関数は、処理された画像をOSSまたは別のサービスに保存します。 OSSが新しくアップロードされた画像を自動的に検出し、関連付けられた関数を呼び出すことができる場合、関数を手動で呼び出す必要はありません。 これにより、開発プロセスと使用プロセスが簡素化されます。 この場合、OSSトリガーを設定して、新しくアップロードされた画像を検出し、Function Computeで関数を呼び出すことができます。 トリガーを設定すると、新しい画像がアップロードされると、関連する関数がトリガーされて画像がダウンロードされ、処理されます。
シナリオ2: Simple Log Serviceのログが更新されたときのトリガー機能
アプリケーションはSimple Log Serviceを使用して、定期的に更新されたログを収集します。 関数を呼び出して、増分ログを照会および分析できます。 Simple Log Serviceが更新されたログを自動的に検出し、関連する関数を呼び出すことができる場合、関数を手動で呼び出す必要はありません。 この場合、Simple Log Serviceトリガーを設定して、更新されたログを検出し、Function Computeの関数を呼び出すことができます。 トリガーを設定すると、ログが更新されると、関連付けられた関数がトリガーされて増分ログが消費されます。
シナリオ3: 指定された時間に関数の実行をトリガーする
たとえば、アプリケーションは1時間ごとにデータを収集する必要があります。 1時間ごとに関数を呼び出して、データを収集および処理できます。 Function Computeの関数を1時間ごとに自動的に実行できる場合、関数を手動で呼び出す必要はありません。 この場合、時間トリガーを設定して、時間イベントを検出し、Function Computeで関数を呼び出すことができます。 タイムトリガーを設定すると、関連付けられた関数がトリガーされ、指定された間隔でデータが自動的に収集および処理されます。
トリガータイプ
Function Computeのトリガーは、トリガーの統合方法に基づいて、次の2つのタイプに分類されます。
双方向統合トリガー: Function Computeおよびイベントソースで設定できるトリガー。
Alibaba Cloudサービスのイベントトリガー: Function ComputeおよびEventBridgeで設定できるトリガー。 イベントソースでトリガーを設定する必要はありません。
トリガーは、関数の呼び出し方法に基づいて、同期トリガーと非同期トリガーに分類できます。 以下の項目では、呼び出し方法の違いについて説明します。 詳細については、「同期呼び出し」をご参照ください。
同期呼び出し: イベントが関数によって処理された後に結果が返されます。 たとえば、function Computeコンソールでの関数呼び出しは同期呼び出しです。
非同期呼び出し: イベントがFunction Computeの内部キューに書き込まれた後、結果が返されます。 Function Computeは、メッセージが確実に処理されるようにします。
双方向統合トリガー
トリガー名 | 呼び出しメソッド | 関連ドキュメント | |
時間トリガー | 非同期呼び出し | ||
OSSトリガー | 非同期呼び出し | ||
シンプルなLog Serviceトリガー | 同期呼び出し | ||
Alibaba Cloud CDNトリガー | 同期呼び出し | ||
Tablestoreトリガー | 同期呼び出し | ||
Message Service (MNS) トピックトリガー | 非同期呼び出し | ||
自己管理型Apache RocketMQトリガー | 同期および非同期呼び出し | ||
HTTPトリガー | 同期および非同期呼び出し | ||
EventBridgeベースのトリガー | MNSキュートリガー | 同期および非同期呼び出し | |
ApsaraMQ for RocketMQトリガー | 同期および非同期呼び出し | ||
ApsaraMQ for RabbitMQトリガー | 同期および非同期呼び出し | ||
ApsaraMQ for Kafkaトリガー | 同期および非同期呼び出し | ||
ApsaraMQ for MQTTトリガー | 同期および非同期呼び出し | ||
Data Transmission Service (DTS) トリガー | 同期および非同期呼び出し |
Alibaba Cloudサービスのイベントトリガー
トリガー名 | 呼び出しメソッド | 関連ドキュメント |
Alibaba Cloudサービスのイベントトリガー | 同期および非同期呼び出し |