Lambda 関数を呼び出す - AWS Lambda

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lambda 関数を呼び出す

Lambda 関数は、Lambda コンソール関数 URL の HTTP エンドポイント、Lambda APIAWS SDKAWS Command Line Interface (AWS CLI)、および AWS ツールキットを使用して直接呼び出すことができます。また、イベント、外部リクエスト、またはスケジュールに応じて関数を呼び出すように、他の AWS サービスを設定することもできます。例えば、Amazon Simple Storage Service (Amazon S3) はオブジェクトが S3 バケット内に作成された時に関数を呼び出すことができ、Amazon EventBridge (CloudWatch Events) はスケジュールに従って関数を呼び出すことができます。ストリームまたはキューからアイテムを読み込み、関数を呼び出してそれらを処理するように Lambda を設定することも可能です。

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

別の AWS のサービス からの Lambda 関数の呼び出し

別の AWS サービスが関数を直接呼び出すには、トリガーを作成する必要があります。トリガーはユーザーが設定するリソースで、特定のイベントまたは状況が発生したときに、別の AWS サービスが関数を呼び出せるようにするものです。関数は複数のトリガーを持つことができます。各トリガーは、関数を単独に呼び出すクライアントとして機能し、Lambda が関数に渡す各イベントには、1 つのトリガーからのデータしかありません。

Lambda コンソールを使用して、関数のトリガーを作成できます。AWS Serverless Application Model (AWS SAM) の Events プロパティを使用して、関数を呼び出すように別のサービスを設定することもできます。詳細については、「AWS Serverless Application Model デベロッパーガイド」の「AWS::Serverless::Function」を参照してください。

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

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

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

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

  5. トリガー設定 ペインにオプションを入力し、 [追加] を選択します。

    関数を呼び出すために選択した AWS のサービス に応じて、トリガー設定オプションは異なります。

トリガーを使用して Lambda 関数を呼び出すことができる AWS サービスの完全なリストと、異なるサービスのためのトリガーの設定に関する詳細については、「Using Lambda with other services」(他のサービスで Lambda を使用する) を参照してください。

ストリームまたはキューからの Lambda 関数の呼び出し

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

Lambda 関数のイベントソースマッピングは、Lambda コンソール、AWS CLI、Lambda API、または AWS SDK を使用して作成できます。AWS SAM または AWS CloudFormation を使用して、イベントソースマッピングを追加することもできます。Lambda コンソールでイベントソースマッピングを作成するには、別の AWS のサービス からの Lambda 関数の呼び出し の手順に従ってトリガーを作成してから、イベントソースマッピングをサポートする AWS サービスのいずれかをソースとして選択します。

AWS CLI、Lambda API、または AWS SDK を使用してイベントソースマッピングを作成する、およびイベントソースマッピングを使用できる AWS サービスのリストを確認するには、「Lambda のイベントソースマッピング」を参照してください。AWS SAM の Events プロパティを使用してイベントソースマッピングを作成する方法の詳細については、「AWS Serverless Application Model デベロッパーガイド」の「AWS::Serverless::Function」を参照してください。

エラーと再試行

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