他の AWS サービスからのイベントを使用した Lambda の呼び出し - AWS Lambda

他の AWS サービスからのイベントを使用した Lambda の呼び出し

一部の AWS サービスは、トリガーを使用して Lambda 関数を直接呼び出すことができます。これらのサービスはイベントを Lambda にプッシュし、指定されたイベントが発生すると即時に関数が呼び出されます。トリガーは、個別のイベントやリアルタイム処理に適しています。Lambda コンソールを使用してトリガーを作成すると、コンソールは対応する AWS サービスと連携して、そのサービスでイベント通知を設定します。実際には、トリガーは Lambda ではなく、イベントを生成するサービスによって保存および管理されます。

イベントは JSON 形式で構造化されたデータです。JSON 構造は、それを生成するサービスとイベントタイプによって異なりますが、すべて関数がイベントを処理するために必要なデータを含んでいます。

関数には複数のトリガーを持つことができます。各トリガーは、関数を単独に呼び出すクライアントとして機能し、Lambda が関数に渡す各イベントには、1 つのトリガーからのデータしかありません。Lambda は、イベントドキュメントをオブジェクトに変換して関数ハンドラに渡します。

サービスに応じて、イベント駆動型呼び出しは同期または非同期になります。

  • 同期呼び出しの場合、イベントを生成するサービスは、関数からのレスポンスを待機します。そのサービスは、関数がレスポンスで返す必要があるデータを定義します。サービスはエラー戦略を制御します (エラー発生時に再試行するかどうかなど)。

  • 非同期呼び出しの場合、Lambda は関数に渡す前に、イベントをキューに入れます。Lambda はイベントをキューに入れると、イベントを生成したサービスにすぐに成功レスポンスを送信します。関数がイベントを処理した後、Lambda はイベント生成サービスにレスポンスを返しません。

トリガーの作成

トリガーを作成する最も簡単な方法は、Lambda コンソールを使用することです。コンソールを使用してトリガーを作成すると、Lambda によって、必要なアクセス許可が自動的に関数のリソースベースのポリシーに追加されます。

Lambda コンソールを使用してトリガーを作成するには
  1. Lambda コンソールの [関数ページ] を開きます。

  2. トリガーを作成する関数を選択します。

  3. [関数の概要] ペインで、[トリガーを追加] を選択します。

  4. 関数を呼び出す AWS サービスを選択します。

  5. トリガー設定 ペインにオプションを入力し、 [追加] を選択します。関数を呼び出すために選択した AWS のサービス に応じて、トリガー設定オプションは異なります。

次の表は、Lambda 関数を呼び出すことができるサービスをリストしています。

サービス 呼び出し方法

Amazon Managed Streaming for Apache Kafka

イベントソースマッピング

セルフマネージド Apache Kafka

イベントソースマッピング

Amazon API Gateway

イベント駆動型、同期呼び出し

AWS CloudFormation

イベント駆動型;、非同期呼び出し

Amazon CloudWatch Logs

イベント駆動型;、非同期呼び出し

AWS CodeCommit

イベント駆動型;、非同期呼び出し

AWS CodePipeline

イベント駆動型;、非同期呼び出し

Amazon Cognito

イベント駆動型、同期呼び出し

AWS Config

イベント駆動型;、非同期呼び出し

Amazon Connect

イベント駆動型、同期呼び出し

Amazon DynamoDB

イベントソースマッピング

Amazon Elastic File System

特殊な統合

Elastic Load Balancing (Application Load Balancer)

イベント駆動型、同期呼び出し

Amazon EventBridge (CloudWatch Events)

イベント駆動型、非同期呼び出し (イベントバス)、同期または非同期呼び出し (パイプとスケジュール)

AWS IoT

イベント駆動型;、非同期呼び出し

Amazon Kinesis

イベントソースマッピング

Amazon Data Firehose

イベント駆動型、同期呼び出し

Amazon Lex

イベント駆動型、同期呼び出し

Amazon MQ

イベントソースマッピング

Amazon Simple Email Service

イベント駆動型;、非同期呼び出し

Amazon Simple Notification Service

イベント駆動型;、非同期呼び出し

Amazon Simple Queue Service

イベントソースマッピング

Amazon Simple Storage Service (Amazon S3)

イベント駆動型;、非同期呼び出し

Amazon Simple Storage Service Batch

イベント駆動型、同期呼び出し

シークレットマネージャー

特殊な統合

AWS Step Functions

イベント駆動型、同期または非同期呼び出し

Amazon VPC Lattice

イベント駆動型、同期呼び出し

AWS X-Ray

特殊な統合