はじめに
今回はAWS公式から出ている、『「Hello, World!」をサーバーレスで実行する』というチュートリアルをやっていきます。
この記事はAWSアカウントを作り終わってることが前提条件になりますので、下記URLから作成をお願いします。
自分のスペック
新卒でエンジニアになったが、Pythonに関しては簡単なものを読解、コーディングするぐらいの知識しかないです。
ほとんど初心者な人が今回はやっていきます。
環境
- Windows10
- Chrome
実行していく
関数作成までの手順
まず、AWSに入ってもらって左上の検索ボックスで「lambda」と検索してLambdaをクリック
真ん中の設計図の使用、検索ボックスで「hello」と検索する。
今回はPythonでやるので、Python3.7の方を選択する。
一から作る場合はPython3.9でarm64にすると早くて安いです。
※今回はチュートリアル通りに進めていくので、名前も同じにします。
基本的な情報
- 関数名:hello-world-python
- 実行ロール:
AWS ポリシーテンプレートから新しいロールを作成
- ロール名:lambda_basic_execution
- ポリシーテンプレート - オプション:選択なし
一番下まで行き、関数の作成を押す。
この画面になれば、関数の完成です!!!
テスト実行
テストイベントの作成
テストの項目に入ります。
テストイベントを新規で作成します。
- イベント名:HelloWorldEvent
- イベント共有の設定:プライベート
- テンプレート - オプション:hello-world
{
"key1": "hello, world!",
"key2": "value2",
"key3": "value3"
}
key1
の初期値はvalue1
なので今回はhello, world!
に書き換えてます。
設定し終わったら、保存ボタンを押して保存する。
lambda_function.pyの確認
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
return event['key1'] # 返り値でkey1の結果だけを送ります。
上部のTestボタンを押すと実行結果が出ます
Response
にしっかりhello, world!
と結果が出ました。
これで、テスト実行が完了です。
ちょっと遊んでみる
key2
とkey3
を使ってみたいと思います。
テストイベントの書き換え
まずテストイベントを書き換えます。
「保存されたイベントを編集」から作ったイベントを編集できます。
key2
とkey3
はこのように書き換えました。
{
"key1": "hello, world!",
"key2": "python",
"key3": "qiita"
}
コードソースの書き換え
次はコードソースを書き換えます。
書き換える部分は11行目のreturn
の部分になります。
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
return event['key1'], event['key2'], event['key1'], event['key3']# この行を書き換えた
#raise Exception('Something went wrong')
結果がわかりやすいように、適当な感じで並べてみました。
コードソースを書き換えたら必ずDeployボタンを押してください。
画像のように、Changes not deployedになっている時は、まだ変更が適用されてないので気を付けてください。
実行してみる
Response
にしっかり結果が出ました。
成功したので良かったです。
最後に
今回は公式のチュートリアルで遊んでみましたが、結構簡単にLambdaが使えることがわかりましたね。
公式の説明は古いのでちょっと違うとこもありましたが、意外と大丈夫です。
次回は実際に使っていきます。
参考