Lambda 関数を呼び出す - AWS Lambda

Lambda 関数を呼び出す

Lambda コンソール関数 URL の HTTP エンドポイント、Lambda API、AWS SDK、AWS Command Line Interface (AWS CLI)、および AWS ツールキットを使用すると、Lambda 関数を直接呼び出すことができます。他の AWS のサービスを設定して関数を呼び出したり、ストリーミングやキューから読み取るように Lambda を設定して関数を呼び出すこともできます。

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

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

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

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

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