LoginSignup
1
0

More than 1 year has passed since last update.

初心者エンジニアが『Hello, World!をサーバーレスで実行する』公式チュートリアルやってみた。

Last updated at Posted at 2022-11-09

はじめに

今回はAWS公式から出ている、『「Hello, World!」をサーバーレスで実行する』というチュートリアルをやっていきます。
この記事はAWSアカウントを作り終わってることが前提条件になりますので、下記URLから作成をお願いします。

自分のスペック

新卒でエンジニアになったが、Pythonに関しては簡単なものを読解、コーディングするぐらいの知識しかないです。
ほとんど初心者な人が今回はやっていきます。

環境

  • Windows10
  • Chrome

実行していく

関数作成までの手順

まず、AWSに入ってもらって左上の検索ボックスで「lambda」と検索してLambdaをクリック
image.png

左側のメニューから関数を選択
image.png

このような画面になるので、右上の「関数の作成」をクリック
タイトルなし.png

真ん中の設計図の使用、検索ボックスで「hello」と検索する。
今回はPythonでやるので、Python3.7の方を選択する。
image.png

一から作る場合はPython3.9でarm64にすると早くて安いです。

※今回はチュートリアル通りに進めていくので、名前も同じにします。

基本的な情報

image.png

  • 関数名:hello-world-python
  • 実行ロール:AWS ポリシーテンプレートから新しいロールを作成
  • ロール名:lambda_basic_execution
  • ポリシーテンプレート - オプション:選択なし

一番下まで行き、関数の作成を押す。
image.png
この画面になれば、関数の完成です!!!

テスト実行

テストイベントの作成

テストの項目に入ります。
image.png
テストイベントを新規で作成します。
image.png

  • イベント名:HelloWorldEvent
  • イベント共有の設定:プライベート
  • テンプレート - オプション:hello-world
イベント JSON
{
  "key1": "hello, world!",
  "key2": "value2",
  "key3": "value3"
}

key1の初期値はvalue1なので今回はhello, world!に書き換えてます。

設定し終わったら、保存ボタンを押して保存する。

lambda_function.pyの確認

コードは初めのままです。特にいじる必要はないです。
image.png

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ボタンを押すと実行結果が出ます
image.png
Responseにしっかりhello, world!と結果が出ました。
これで、テスト実行が完了です。

ちょっと遊んでみる

key2key3を使ってみたいと思います。

テストイベントの書き換え

まずテストイベントを書き換えます。
「保存されたイベントを編集」から作ったイベントを編集できます。
image.png
key2key3はこのように書き換えました。

イベント JSON
{
  "key1": "hello, world!",
  "key2": "python",
  "key3": "qiita"
}

コードソースの書き換え

次はコードソースを書き換えます。
書き換える部分は11行目のreturnの部分になります。
image.png

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'], event['key2'], event['key1'], event['key3']# この行を書き換えた
    #raise Exception('Something went wrong')

結果がわかりやすいように、適当な感じで並べてみました。

コードソースを書き換えたら必ずDeployボタンを押してください。
画像のように、Changes not deployedになっている時は、まだ変更が適用されてないので気を付けてください。
image.png

実行してみる

Responseにしっかり結果が出ました。
成功したので良かったです。
image.png

最後に

今回は公式のチュートリアルで遊んでみましたが、結構簡単にLambdaが使えることがわかりましたね。
公式の説明は古いのでちょっと違うとこもありましたが、意外と大丈夫です。

次回は実際に使っていきます。

参考

1
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
1
0