0
0

More than 1 year has passed since last update.

初めてのlambda

Last updated at Posted at 2022-02-05

概要

簡単なlambda関数を作成し、テストでの引数を渡して関数を実行。
結果の違いを確認してみようと思います。

手順

  1. lambda関数作成
  2. ソースコードの挿入
  3. テスト
  4. テストの実行結果

詳細内容

ここから上記手順の詳細の設定方法などを記載していきます。

1.lambda関数の作成

まずはawsコンソールからlambdaコンソールを表示させ、lamda関数の作成を押します。
lambda_function.png

  • 一から作成を選択
  • 関数名:jyankenで登録(名前は自分で自由に決めてください…)
  • ランタイム:今回のlambda関数はpythonで書いております。python3.8でお願いします。 右下の「関数の作成」ボタンを押してください。 *関数の作成に少し時間がかかります。その間に関数について説明しておきます。

関数: 関数には引数と戻り値があります。(引数はオプションなので無い関数もあります。)
*********************
関数A(引数1,引数2)
戻り値 引数1 + 引数2
********ここまで********

上記例の場合、関数Aを動かすときに引数1と引数2が必要です。その結果は
引数1 + 引数2で戻ります。
引数1・・・1、引数2・・・3の場合は
関数Aは4を戻します。

2.ソースコードの挿入

コードの画面が表示されましたら下記、ソースコードをコピペしてください。

Pon = {'Gu':'Pa!','Cyoki':'Gu!','Pa':'Cyoki!'}#じゃんけんの勝ちパターンJSON
"""
lambda_handlerは必ずLambdaにあるイベント関数。すべてはここから処理が開始されます。
"""
def lambda_handler(event, context):

     # event['Jyanken']にテストの値が来ます。(JSON形式だから複数の引数設定が可能)
     #Jyankenの値をとりあえずaite変数に入れておく。
    aite:str = event['Jyanken']

    #aiteがPonの中にいる時
    if aite in Pon:#PonのJSONにaite(=Jyanken引数)が存在したら
        #koreda変数にPonから取得した勝ちパターンをセット
        koreda:str = Pon[aite]
    #elseなのでいない時
    else:
        #じゃんけん以外の文字が来たらMaketaを返す
        koreda = 'Maketa!'
    return koreda

ソースコードの詳細の説明はコード内部のコメントを読んでください。
内容としては

lambda関数に渡す値 戻り値
Gu Pa!
Cyoki Gu!
Pa Cyoki!
上記以外 Maketa!

となります。じゃんけんには必ず勝つlambda関数ですがGu,Cyoki,Pa以外が来たら
Maketa!となります。

下図のようにソースコードを挿入したら「Deploy」を押してください。
lambda_function.png

3.テスト

テストを作成します。
テストの作成とは、作成したlamda関数に渡す引数を決めてテストします。
テストタブを押してください。

lambda_test.png

  • イベント名を登録してください。(ponとしていますが自由です。)
  • json形式で上記図のように入力してください。 変更を保存を押してください。

4.テストの実行結果

lambda_result.png
「▶詳細」部分を押してください。
黒三角の向きが変わり「▼詳細」になり詳細が表示されます。
結果で"Pa!"が出ていれば成功です。
テスト「pon」の引数でじゃんけんを変更すれば戻り値の値も変わるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0