Serverless Frameworkテンプレート内にプログラムを追加し更新する

Serverless Frameworkテンプレート内にプログラムを追加し更新してみます。

前回、Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出すという記事を公開しましたが、今回はServerless Frameworkを用いて作成したテンプレート内のプログラムを追加し更新してみます。

■PC環境

>Windows 10

>npm –version
8.3.1

>node –version
v16.14.0

>nodeserverless –version

Framework Core: 3.19.0
Plugin: 6.2.2
SDK: 4.3.2

>aws –version
aws-cli/2.5.6 Python/3.9.11 Windows/10 exe/AMD64 prompt/off

■プロジェクトディレクトリを作成する

前回、Serverless Frameworkを用いて「C:\Users\user_\project_test(フォルダパス)」内に「project_test」ディレクトリを作成し、その中に「.gitignore」、「handler.py」、「serverless.yml」という3つのファイルが生成されましたが、プログラムを追加してみますので、「handler.py」のファイルをコードエディタで開きます。

■コード(変更前)

import json


def hello(event, context):
    body = {
        "message": "Go Serverless v1.0! Your function executed successfully!",
        "input": event
    }

    response = {
        "statusCode": 200,
        "body": json.dumps(body)
    }

    return response

    # Use this code if you don't use the http event with the LAMBDA-PROXY
    # integration
    """
    return {
        "message": "Go Serverless v1.0! Your function executed successfully!",
        "event": event
    }
    """

コードエディタで開くと上記のコードが表示されます。

■コード(変更後)

import json

def hello(event, context):

    a = 10

    b = 5

    return a+b

表示後、コードを上記のように変更します。def文を用いてhelloという関数を定義し、関数を呼び出した時に実行される処理として、a変数とb変数に格納した数値を算術演算子”+”(プラス)を用いて加算し、加算した結果をreturnとして返すようにします。

コードを記述後、保存します。

■追加したプログラムを更新する

保存後、追加(変更)したプログラムを更新するために、Windows10のコマンドプロンプトを起動します。

C:\Users\user_>cd project_test

起動後、上記のコマンドを入力し、Enterキーを入力します。cdコマンドで作成した「project_test」ディレクトリに移動します。

C:\Users\user_\project_test>cd project_test

移動後、上記のコマンドを入力し、Enterキーを入力します。さらにServerless Frameworkを用いて作成した「project_test」ディレクトリに移動します。

C:\Users\user_\project_test\project_test>serverless deploy function -f hello

移動後、上記のコマンドを入力し、Enterキーを入力します。「deploy function -f」コマンドで、def文を用いて定義したhello関数をデプロイします。

Deploying function hello to stage dev (us-east-1)

✔ Function code deployed (2s)
Configuration did not change. Configuration update skipped. (2s)

Enterキーを押すと、上記のメッセージが出力されます。「Function code deployed」にチェックが入っているので、これでデプロイは完了となります。

■関数を呼び出す

完了後、検証のために、プログラムを実行し、関数を呼び出してみます。

C:\Users\user_\project_test\project_test>serverless invoke -f hello -l

関数を呼び出すために、コマンドプロンプト上で、上記のコマンドを入力し、Enterキーを入力します。「invoke」コマンドで関数を呼び出します。

15
--------------------------------------------------------------------
START
END RequestId: *******-****-****-****-**********
END Duration: 1.10 ms (init: 110.79 ms) Memory Used: 36 MB

Enterキーを押すと、def文を用いてhelloという関数を定義しましたが、定義した関数を呼び出しreturnを返させることができました。

コメント

タイトルとURLをコピーしました