Upgrade to Pro — share decks privately, control downloads, hide ads and more …

昔の自分に教えたいLambdaのデバッグ方法

tomoki10
December 18, 2019

 昔の自分に教えたいLambdaのデバッグ方法

WebコンソールからLambdaを動かしていた時に、次のステップとしてローカルでLambdaデバッグする流れを伝えるスライドです。
セットアップ手順などは省いてますが、Webコンソールで操作する場合とSAMを使用してローカルで試験する場合の対比がわかりやすくなるように作成しています。

tomoki10

December 18, 2019
Tweet

More Decks by tomoki10

Other Decks in Programming

Transcript

  1. ࠓ೔࿩͢಺༰ AWS Lambda Amazon API Gateway Amazon DynamoDB AWS Cloud

    ·ͣίίͷ࿩ AWS Lambda Amazon API Gateway Amazon DynamoDB AWS Cloud ࣍ʹίίͷ࿩
  2. Πϕϯτ࡞੒(SAM) ίϚϯυɿ sam local generate-event [OPTIONS] COMMAND [ARGS]…
 (Lambdaʹ౉͢JSONΠϕϯτͷ࡞੒)
 $

    sam local generate-event apigateway —-help $ sam local generate-event apigateway aws-proxy +40/Πϕϯτ
  3. ίϚϯυɿ sam local invoke [OPTIONS] [FUNCTION_IDENTIFIER]
 (ϩʔΧϧ؀ڥͰDockerΛ࢖༻ͯ͠LambdaΛ࣮ߦ)
 $ sam local

    invoke HelloWorldFunction -e events/apigateway-proxy-event.json 
 ࣮ߦ݁Ռ ςετ࣮ߦ(SAM)
  4. • ΤϯυϙΠϯτ(httpϦΫΤετઌ)͚ͩΛࠩ͠ସ͑ͯࢼݧ͢Δ E2Eςετ AWS Lambda Amazon API Gateway Amazon DynamoDB

    AWS Cloud ຊ൪ ϩʔΧϧ AWS Lambda SAM (start-api) + DynamoDB local 'BLF "1* (BUFXBZ AWS Lambda Local Stack ϩʔΧϧ 'BLF "1* (BUFXBZ 'BLF %ZOBNP %# 'BLF %ZOBNP %#
  5. ͞Βʹ஌ࣝΛਂΊΔʹ͸ • LambdaςετઃܭͷόΠϒϧ
 ʮTestable Lambda: Working Effectively with Legacy Lambdaʯ


    https://speakerdeck.com/twada/testable-lambda-working-effectively-with-legacy-lambda • Lambda಺෦ͷςετઃܭ΍E2EςετΛߦ͏ͱ͖ͷઓུͳͲ
 ʮTypeScriptͱJestͰ͸͡ΊΔ AWS੡αʔόʔϨε REST API ͷ
 Ϣχοτςετ/E2Eςετʯ
 https://speakerdeck.com/wadayusuke/serverless-testing-using-typescript-and-jest • ผͷπʔϧΛ࢖͏
 AWS Toolkit for VSCode ͷ Lambdaσόοά
 AWS CDKͰσϓϩΠߏ੒ͷ؅ཧ