他の AWS サービスからのイベントを使用した Lambda の呼び出し
一部の AWS サービスは、トリガーを使用して Lambda 関数を直接呼び出すことができます。これらのサービスはイベントを Lambda にプッシュし、指定されたイベントが発生すると即時に関数が呼び出されます。トリガーは、個別のイベントやリアルタイム処理に適しています。Lambda コンソールを使用してトリガーを作成すると、コンソールは対応する AWS サービスと連携して、そのサービスでイベント通知を設定します。実際には、トリガーは Lambda ではなく、イベントを生成するサービスによって保存および管理されます。
イベントは JSON 形式で構造化されたデータです。JSON 構造は、それを生成するサービスとイベントタイプによって異なりますが、すべて関数がイベントを処理するために必要なデータを含んでいます。
関数には複数のトリガーを持つことができます。各トリガーは、関数を単独に呼び出すクライアントとして機能し、Lambda が関数に渡す各イベントには、1 つのトリガーからのデータしかありません。Lambda は、イベントドキュメントをオブジェクトに変換して関数ハンドラに渡します。
サービスに応じて、イベント駆動型呼び出しは同期または非同期になります。
-
同期呼び出しの場合、イベントを生成するサービスは、関数からのレスポンスを待機します。そのサービスは、関数がレスポンスで返す必要があるデータを定義します。サービスはエラー戦略を制御します (エラー発生時に再試行するかどうかなど)。
-
非同期呼び出しの場合、Lambda は関数に渡す前に、イベントをキューに入れます。Lambda はイベントをキューに入れると、イベントを生成したサービスにすぐに成功レスポンスを送信します。関数がイベントを処理した後、Lambda はイベント生成サービスにレスポンスを返しません。
トリガーの作成
トリガーを作成する最も簡単な方法は、Lambda コンソールを使用することです。コンソールを使用してトリガーを作成すると、Lambda によって、必要なアクセス許可が自動的に関数のリソースベースのポリシーに追加されます。
Lambda コンソールを使用してトリガーを作成するには
-
Lambda コンソールの [関数ページ]
を開きます。 -
トリガーを作成する関数を選択します。
-
[関数の概要] ペインで、[トリガーを追加] を選択します。
-
関数を呼び出す AWS サービスを選択します。
-
トリガー設定 ペインにオプションを入力し、 [追加] を選択します。関数を呼び出すために選択した AWS のサービス に応じて、トリガー設定オプションは異なります。
Lambda 関数を呼び出すことができるサービス
次の表は、Lambda 関数を呼び出すことができるサービスをリストしています。
サービス | 呼び出し方法 |
---|---|
イベント駆動型、同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型、同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型、同期呼び出し |
|
特殊な統合 |
|
イベント駆動型、同期呼び出し |
|
イベント駆動型、非同期呼び出し (イベントバス)、同期または非同期呼び出し (パイプとスケジュール) |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型、同期呼び出し |
|
イベント駆動型、同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型;、非同期呼び出し |
|
イベント駆動型、同期呼び出し |
|
特殊な統合 |
|
イベント駆動型、同期または非同期呼び出し |
|
イベント駆動型、同期呼び出し |
|
特殊な統合 |