AWS LambdaでPythonを使用した関数を作成する

AWS LambdaでPythonを使用した関数を作成してみます。

まずは「アマゾン ウェブ サービス(AWS クラウド)-ホーム(https://aws.amazon.com/jp/)」にアクセスし、右上にある「コンソールにサインイン」ボタンをクリックします。

クリックすると、「Amazon Web Services Sign-In」ページに移動します。ページ内に表示された「サインイン」の項目の「ルートユーザー」を選択し、今回はサインインを行います。なお、今回は事前にAWSのアカウントを取得した状態となっております。

選択後、「次へ」ボタンをクリックします。

クリックすると、「セキュリティチェック」となる場合があり、画像認証で表示された文字を入力し「送信」ボタンをクリックします。

クリックすると、「ルートユーザーサインイン」でパスワードの入力を求められますので、パスワードを入力し、「サインイン」ボタンをクリックします。

クリックすると、コンソールにログインできますので、コンソール上部の「検索窓(サービス、特徴、ブログ、及びドキュメントなどを検索)」をクリックし、「Lambda」と入力します。

入力すると、「検索結果」の「サービス」に「Lambda」が表示されますので、こちらをクリックします。

■関数の作成

クリックすると、「AWS Lambda」へ移動しますので、左側メニューから「関数」が選択されているか確認し、「関数」ページ内の「関数の作成」ボタンをクリックします。

クリックすると、「関数の作成」ページが表示されますので、ページ内に、

・一から作成
・設計図の使用
・コンテナイメージ
・Serverless Application Repositoryの参照

上記の項目が表示されていますので、今回は「一から作成」を選択します。

選択し、ページ下をスクロールすると、「基本的な情報」が表示されていますの、情報を入力します。今回は関数名を「Hello」とし、ランタイムを「Python 3.8」に選択し、アーキテクチャを「x86_64」を選択し、アクセス権限は変更はなしとします。また「詳細設定」の設定も行いません。

設定後、ページの一番下の右側に「関数の作成」ボタンがあるので、こちらをクリックします。

クリックすると、関数の作成が開始され、しばらくすると完了し、作成された関数のページが表示され「関数 Hello を正常に作成しました。関数コードおよび設定を変更できるようになりました。テストイベントで関数を呼び出すには、[テスト] をクリックします。」と表示されます。これで関数の作成は完了です。

■コード

import json

def lambda_handler(event, context):
    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

作成となりますが、内容を少し変更し、関数のテストを行いますので、作成された関数のページに「コードソース」の項目があり、「lambda_function.py」のコードが表示されています。

import json

def lambda_handler(event, context):
    print('こんにちは、世界!扉は開いた。')
    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps('こんにちは、世界!扉は開いた。')
    }

このコードを上記のように変更してみます。

変更後、「コードソース」の「File」から「Save」をクリックし、コードを保存します。

■作成した関数をテストする

保存後、関数のテストを行いますので、「コードソース」から「テスト」をクリックします。

クリックすると「テストイベントを設定」のウインドウ、もしくは項目が表示されます。

「テストイベントを設定」内の「イベントアクションをテスト」で「新しいイベントを作成」を選択し、「イベント名」を今回は「Hello」とし、イベント共有の設定で「プライベート」を選択します。その後、「テンプレート – オプション」で、今回はテンプレートを「hello-world」に選択します。

選択後、ウインドウ、もしくは項目の一番下に「保存」ボタンが表示されているので、こちらをクリックします。

クリックすると、「テストイベント Hello は正常に保存されました。」と表示され、テストイベントが保存が完了しました。

保存が完了した後に、念のために、関数の更新を行うために「Deploy」ボタンをクリックします。クリックすると、更新が行われ「関数 Hello が正常に更新されました。」と表示されます。

表示後、「Test」ボタンをクリックします。

クリックすると、「Execution results(実行結果)」のタブが追加され、テストイベントの実行結果が出力されます。

「コードソース」の上部メニューの「テスト」をクリックし、「実行結果: 成功(ログ)」の「詳細」をクリックすることでも、実行結果の詳細を確認できます。

実行結果からprint()を用いて日本語文字列の出力には成功しましたが、json.dumps()を用いた箇所は、文字化けが発生してしまいました。文字化けが発生してしまいましたが、関数の実行には成功したので、今回の検証を終了します。

コメント

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