Lambda 関数のローカルでのステップスルーデバッグ - AWS Serverless Application Model

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

Lambda 関数のローカルでのステップスルーデバッグ

次を使用できます。AWS SAMの様々なAWSツールキットとデバッガーを使用して、サーバーレスアプリケーションをローカルでテストおよびデバッグできます。

たとえば、ブレークポイントを設定し、変数を検査し、関数コードを一度に 1 行ずつ実行することで、Lambda 関数のローカルステップスルーデバッグを実行できます。ローカルステップスルーデバッグでは、クラウド上で発生する可能性のある問題を見つけてトラブルシューティングすることが可能になり、フィードバックループが強化されます。

を使用するAWSツールキット

AWSToolkit は、ブレークポイントの設定、変数の検査、関数コードを 1 行ずつ実行できる統合開発環境 (IDE) プラグインです。AWSToolkit を使用すると、サーバーレスアプリケーションの開発、デバッグ、デプロイが容易になります。AWS SAM。IDE に統合された Lambda 関数の構築、テスト、デバッグ、デプロイ、および呼び出しが提供されます。

の詳細AWSで使用できるツールキットAWS SAMについては、以下を参照してください。

多様性がありますAWSIDE とランタイムの異なる組み合わせで動作するツールキット。次の表に、ステップスルーデバッグをサポートする一般的な IDE/Runtime の組み合わせを示します。AWS SAMアプリケーション:

IDE ランタイム AWSToolkit ステップスルーデバッグの手順
Visual Studio Code
  • Node.js

  • Python

  • .NET

  • Java

  • Go

AWS Toolkit for Visual Studio Code の使用 AWS Serverless Application ()AWS Toolkit for Visual Studio Codeユーザーガイド
AWS Cloud9
  • Node.js

  • Python

AWS Cloud9, とともにAWSToolkit の有効化1

の使用AWSサーバーレスアプリケーションを使用するAWSToolkit()AWS Cloud9ユーザーガイド

ウェブストーム Node.js AWS Toolkit for JetBrains2

ローカル関数の実行(呼び出し)またはデバッグ()AWS Toolkit for JetBrains

PyCharm Python AWS Toolkit for JetBrains2

ローカル関数の実行(呼び出し)またはデバッグ()AWS Toolkit for JetBrains

ライダー .NET AWS Toolkit for JetBrains2

ローカル関数の実行(呼び出し)またはデバッグ()AWS Toolkit for JetBrains

IntelliJ Java AWS Toolkit for JetBrains2

ローカル関数の実行(呼び出し)またはデバッグ()AWS Toolkit for JetBrains

ゴーランド Go AWS Toolkit for JetBrains2

ローカル関数の実行(呼び出し)またはデバッグ()AWS Toolkit for JetBrains

メモ:

  1. を使用するにはAWS Cloud9ステップスルーデバッグAWS SAMアプリケーション、AWSToolkit を有効にする必要があります。詳細については、「」を参照してください。の有効化AWSToolkit()AWS Cloud9ユーザーガイド

  2. を使用するにはAWS Toolkit for JetBrainsステップスルーデバッグAWS SAMアプリケーションを最初にインストールして設定する必要があります。インストールして設定するには、をインストールするAWS Toolkit for JetBrains()AWS Toolkit for JetBrains

実行中AWS SAMデバッグモードでローカルに

との統合に加えてAWSツールキットをインストールするには、AWS SAMのようなサードパーティのデバッガにアタッチする「デバッグモード" でPtvsdまたは掘り下げ

Mac でAWS SAMデバッグモードで、コマンドを使用するsam local invokeまたはsam local start-api--debug-portまたは-dオプション。

以下はその例です。

# Invoke a function locally in debug mode on port 5858 sam local invoke -d 5858 <function logical id> # Start local API Gateway in debug mode on port 5858 sam local start-api -d 5858
注記

使用している OSsam local start-apiの場合、ローカル API Gateway インスタンスはすべての Lambda 関数を公開します。ただし、指定できるデバッグポートは 1 つであるため、一度に 1 つの関数のみデバッグできます。AWS SAM CLI がポートにバインドする前に API を呼び出す必要があります。これにより、デバッガーが接続できるようになります。