ステップ 4: 関数をローカルで実行またはデバッグする - AWS Cloud9

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

ステップ 4: 関数をローカルで実行またはデバッグする

(前のステップ: ステップ 3: 関数にコードを追加する)

ステップ 4.1: 関数をローカルで実行する

このステップでは、IDE を使用してインスタンスの関数を実行します。現在、IDE を使用して、Node.js または Python のみを使用する関数を実行できます。

  1. [AWS リソース] ウィンドウの [Lambda] ペインで、[MyDateTimeApplication] Lambda フォルダを展開して、[myDateTimeFunction] Lambda アイコンを右クリックします。

  2. [Run (実行)]、[Run Local (ローカルで実行)] の順に選択します。

    
                     ローカルで Lambda 関数を実行する
  3. [Run (実行)] タブの [Payload (ペイロード)] ペインで、{} を以下のように置き換えます。これにより、このデータは関数への入力として送信され処理されます。

    { "option": "date", "period": "today" }
  4. [Run (実行)] を選択します。

  5. [Response (レスポンス)] ペインに以下が表示されます。

    { "statusCode": 200, "headers": { "Content-type": "application/json" }, "body": "{\"month\":4,\"day\":12,\"year\":2018}" }
    注記

    [Response (レスポンス)] ペインに null と表示されている場合は、必ず index.js を保存して、[Run (実行)] を再度選択してください。

    結果を以下と比較します。

    
                     Lambda 関数を実行する
  6. 以下のペイロードで関数を何度も実行し、[Response (レスポンス)] ペインに何が表示されるかを確認します。

    { "option": "date", "period": "yesterday" } { "option": "date", "period": "tomorrow" } { "option": "time" } Displays an error. Must also specify a 'period' of 'yesterday', 'today', or 'tomorrow'. { "option": "date" } Displays an error. Must specify an 'option' of 'date' or 'time'. { "option": "dates" }

ステップ 4.2: 関数をローカルでデバッグする

このステップでは、IDE を使用してインスタンスの関数をデバッグします。現在、IDE を使用して、Node.js または Python のみを使用する関数をデバッグできます。また、IDE を使用して関数をデバッグできるのはローカルでのみです。IDE では Lambda 自体の関数をデバッグできません。

  1. index.js ファイルで、デバッガーのブレークポイントを作成します。これを行うには、エディタで、コード callback(null, response) の行のとなりで、行 62 のすぐ左にあるガーターをクリックします。ブレークポイントを表す赤い円が表示されます。

  2. IDE の右エッジで [Debugger (デバッガー)] を選択します。

  3. デバッガーが監視する 4 つの式を追加します。これを行うには、[Watch Expressions (ウォッチ式)] 領域の [Type an expression here (ここに式を入力)] に「event.option」と入力して Enter を押します。これをさらに 3 回実行して、event.periodsc、および response.body を入力します。

    
                     ウォッチ式の追加
  4. ステップ 4.1: 関数をローカルで実行する」で AWS Cloud9 によって開いた [Run (実行)] タブで、バグと思われるアイコンを選択します。(これは灰色から緑に切り替わります)

    
                     [デバッグ] アイコン
    
                     デバッグを有効にする
  5. [Run (実行)] タブの [Payload (ペイロード)] ペインには、次のペイロードがまだ表示されていることを確認します。

    { "option": "date", "period": "today" }
  6. [Run (実行)] を選択します。

    ブレークポイントでコード実行が一時停止します。現在の値 event.optionevent.periodsc、および response.body は、[Debugger (デバッガー)] ウィンドウの [Watch Expressions (ウォッチ式)] 領域に表示されます。

    これらの値は、コード内 12 行目の option、14 行目の period、21 行目の sc、56 行目の response にマウスを置くことで確認できます。56 行目の response で、[Object {}] を展開して、[body] の値を表示します。

    結果を以下と比較します。

    
                     Lambda 関数のデバッグ
  7. [Debugger] ウィンドウで、青い [Resume (再開)] 矢印を選択して、コードの実行を終了します(三角形の再生ボタンのように見えます)。

次のステップ

ステップ 5: API をローカルで実行またはデバッグする