AWS Lambda 関数の呼び出し - AWS Lambda

AWS Lambda 関数の呼び出し

Lambda 関数を Lambda コンソール、Lambda API、AWS SDK、AWS CLI、AWS ツールキットで直接呼び出すことができます。他の AWS のサービスを設定して関数を呼び出したり、ストリームまたはキューから読み取るように Lambda を設定して関数を呼び出すこともできます。

関数を呼び出す際は、同期的に呼び出すか非同期的に呼び出すかを選択できます。同期呼び出しでは、イベントを処理する関数を待ってレスポンスを返します。非同期呼び出しでは、Lambda は処理のためにイベントをキューに入れ、すぐにレスポンスを返します。非同期呼び出しでは、Lambda によって再試行が行われるため、呼び出しレコードが送信先に送信される場合があります。

関数を使用してデータを自動的に処理するには、1 つ以上のトリガーを追加します。トリガーとは、Lambda リソース、つまりライフサイクルイベント、外部リクエスト、またはスケジュールに応答して関数を呼び出すように設定する別のサービスのリソースのことです。関数は複数のトリガーを持つことができます。各トリガーは、関数を独立して呼び出すクライアントとして機能します。Lambda により関数に渡される各イベントには、1 つのクライアントまたはトリガからのデータしかありません。

ストリームまたはキューから項目を処理するには、イベントソースマッピングを作成することができます。イベントソースマッピングは、Amazon SQS キュー、Amazon Kinesis ストリーム、または Amazon DynamoDB ストリームから項目を読み取り、バッチで関数に送信する Lambda のリソースです。関数が処理する各イベントには、数百または数千の項目を含めることができます。

他の AWS サービスやリソースは、関数を直接呼び出します。たとえば、タイマーで関数を呼び出すように CloudWatch イベント を設定したり、オブジェクトが作成されたときに関数を呼び出すように Amazon S3 を設定したりできます。各サービスにおいて、関数の呼び出しに使用するメソッド、イベントの構造、および構成方法が異なります。詳細については、「他のサービスで AWS Lambda を使用する」を参照してください。

誰が関数を呼び出すか、どのように呼び出されるかによって、スケーリングの動作や発生する可能性のあるエラーの種類が異なります。関数を同期的に呼び出すと、エラーがレスポンスで返され、再試行できます。非同期的に呼び出したり、イベントソースマッピングを使用したり、別のサービスを構成して関数を呼び出す場合、要件を再試行し、多数のイベントを処理するために関数をスケーリングする方法は異なります。詳細については、「AWS Lambda 関数スケーリング」および「エラー処理と AWS Lambda での自動再試行」を参照してください。