【AWS】【超初心者ハンズオン】1. AWS Lambdaによって、自作したコードを実行する


【AWS】【超初心者ハンズオン】 シリーズ

この記事の目的

  • AWS Lambdaについて、AWS consoleから触ってみる
  • 自作したpythonコードを実行する

この記事通りにうまくいかないと思ったら

  • Regionが合っているか (東京(ap-northeaest-1)でアカウントを作ったなら、東京になっていることを確認)

AWS Lambdaってどういうサービスなの?

AWS Lambdaはずばり、"あなたの作ったコードをAWS上で動作させること"ができるサービスです。

Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コードさえアップロードすれば、高可用性を実現しながらコードを実行およびスケーリングするために必要なことは、すべて Lambda により行われます。

AWS Lambda よくある質問

AWS Lambdaで実行できるコードは、どのプログラミング言語をサポートしている?

AWS Lambda は、ネイティブでは、Java、Go、PowerShell、Node.js、C#、Python、Ruby のコードをサポートしています。

AWS Lambda よくある質問

AWS Lambdaについて、AWS consoleから触る

作成する関数の目的
0~9の間の整数をランダムに1つ返す

まず、空っぽのLambda関数を作成

  • AWS console画面にて、'Lambda'を検索してクリック
  • '関数の作成'をクリック

AWS Lambdaのダッシュボード画面
- ① 関数の作成: 新規に関数を作る
- ② Lambda関数: これまでにアカウントで作ったLambda関数の数
- ③ コードのストレージ: これまでにアカウントで作ったLambda関数のコードの容量

関数の作成画面
- '一から作成'を選択.
- ① 関数名: コードの目的/機能がわかるよう命名
- ② ランタイム: どの言語に基づいたコードかを選択
- ③ アクセス権限: いったん'基本的なLambdaアクセス権限'でOK
- 画面下端の'関数の作成'で、Lambda関数ができる

次に、作成した空っぽのLambda関数のコード部分を編集

作成されたLambda関数のステータス画面
- ①作成した関数のステータス画面のコードから、直接.pyファイルを編集. 忘れずにDeployボタンで.pyを更新する。
- ②'Test'を実行
- 'テストイベント'では、作成したラムダ関数に対して、どんな入力を与えるかを編集できる。入力はjson形式。今回作成した関数は、入力とは関係なく自力で0~9の間の整数を出力するだけなので、jsonファイルの中身はなんでも良い。

0~9の間の整数をランダムに1つ返す
import json
import random

print('Loading function')

def lambda_handler(event, context) -> int: 
    print("Received event: " + json.dumps(event, indent=2))

    # 0~9の間の整数をランダムに1つ返す
    int_min = 0
    int_max = 10
    generated_int = random.randrange(int_min, int_max, 1)
    return generated_int

自作したpythonコードを実行する

Testの実行結果

  • Response: 狙った値が返ることを確認
  • Received event: 入力のjsonファイルを表示 (テストイベントで指定したjsonファイル)

この先やること

  • トリガー入力(httpRequest)に対して応答して、作成したLambdaを実行可能にする