トリガーは、特定のイベントまたは条件への応答として関数がいつ実行されるかを定義するメカニズムです。 イベントと関数の動作の間のブリッジとして機能し、イベント駆動型アーキテクチャを実現し、複雑なワークフローを簡素化します。
トリガーとは
関数は、 Function Compute コンソール、SDK、またはイベントソースを使用して呼び出すことができます。 トリガーは、特定のイベントが発生したときに自動的に関数を呼び出す方法として機能します。 イベント駆動型アプリケーションの基本的な構成要素です。
関数にトリガーが作成されると、満たされた場合に関数が自動的に実行される特定の条件または基準のセットが定義されます。
1 つのイベントで複数の関数を呼び出す場合は、Function Compute と CloudFlow を組み合わせることができます。 具体的には、CloudFlow プロセスを開始する関数を呼び出すことができます。そのプロセス中に、他の複数の関数が呼び出されます。
シナリオ例
トリガーは、関数の実行を自動化します。 次の例は、トリガーを使用できる一般的なシナリオを示しています。 設定が完了すると、トリガーは、特定の基準が満たされたとき、および定義された時間または間隔で、手動による介入なしに、指定された関数を自動的に実行します。
OSS トリガー
Object Storage Service (OSS) バケットに画像をアップロードするアプリケーションと、これらの画像をダウンロード、処理、およびバケットまたは別のサービスに保存できる関数があるとします。 新しい画像がアップロードされるたびに手動で関数を呼び出す必要がないように、OSS トリガーを構成して自動的に実行できます。
Simple Log Service トリガー
ログ収集に Simple Log Service を使用するアプリケーションと、これらのログをクエリおよび分析できる関数があるとします。 新しいログが収集されるたびに手動で関数を呼び出す必要がないように、Simple Log Service トリガーを構成して自動的に実行できます。
時間トリガー
毎時のデータ収集が必要なアプリケーションと、データを収集および処理できる関数があるとします。 1 時間ごとに手動で関数を呼び出す必要がないように、時間トリガーを構成して自動的に実行できます。
トリガーの種類
Function Compute は、統合方法に従って分類された、次の種類のトリガーをサポートしています。
双方向統合トリガー: このタイプのトリガーは、Function Compute とイベントソースの両方で構成できます。
一方向統合トリガー: このタイプのトリガーは、イベントソースでのみ構成できます。
Alibaba Cloud サービスのイベントトリガー: このタイプのトリガーは、Function Compute でのみ構成できますが、イベントソースで直接構成する代わりに、EventBridge でトリガールールを設定できます。
関数の呼び出し方法に基づいて、トリガーは同期呼び出しトリガーと非同期呼び出しトリガーに分類することもできます。 次の項目では、呼び出し方法の違いについて説明します。 詳細については、「同期呼び出し」をご参照ください。
同期呼び出し: 関数は、イベントの処理が完了した後にのみ応答を返します。 たとえば、Function Compute コンソールで開始された関数の呼び出しはすべて同期呼び出しです。
非同期呼び出し: Function Compute は、イベントを受信するとすぐに応答を返し、処理のために内部キューに配置します。
双方向統合トリガー
トリガー名 | サポートされている呼び出し方法 | ドキュメントリンク | |
時間トリガー | 非同期 | ||
OSS トリガー | 非同期 | ||
Simple Log Service トリガー | 同期 | ||
CDN トリガー | 同期 | ||
Tablestore トリガー | 同期 | ||
セルフマネージド Apache RocketMQ トリガー | 同期と非同期 | ||
Simple Message Queue (formerly MNS) Topic トリガー | 非同期 | ||
HTTP トリガー | 同期と非同期 | ||
EventBridge ベースのトリガー | Simple Message Queue (formerly MNS) キュー トリガー | 同期と非同期 | |
ApsaraMQ for RocketMQ トリガー | 同期と非同期 | ||
ApsaraMQ for RabbitMQ トリガー | 同期と非同期 | ||
ApsaraMQ for Kafka トリガー | 同期と非同期 | ||
ApsaraMQ for MQTT トリガー | 同期と非同期 | ||
Data Transmission Service (DTS) トリガー | 同期と非同期 | ||
一方向統合トリガー
一方向統合トリガーの場合は、イベントソースで構成する必要があります。
トリガー名 | サポートされている呼び出し方法 | ドキュメントリンク |
API Gateway トリガー | 同期と非同期 | |
Application Load Balancer (ALB) トリガー | 同期と非同期 | |
DataHub 一方向トリガー | 同期と非同期 | |
IoT Platform トリガー | 非同期 | |
DataWorks トリガー | 同期と非同期 | |
CloudFlow | 同期と非同期 |
Alibaba Cloud サービスのイベントトリガー
トリガー名 | サポートされている呼び出し方法 | ドキュメントリンク |
Alibaba Cloud サービスのイベントトリガー | 同期と非同期 |