📖

【初心者向け】AWS LambdaのソースコードをS3のzipファイルからアップロード

2024/08/19に公開

はじめに

本ページは個人の勉強で使用することを目的に作成しておりますが、記載の誤り等が含まれる場合がございます。
最新の情報についてはAWS公式ドキュメントをご参照ください。

やること

  • Lambda関数のソースコードにS3バケットのzipファイルを指定してアップロードする。

前提条件

  • ソースコードの作成はWindowsPC上で実施しています。
  • ソースコード保管用のS3バケットmori-s3-lambda-srcは作成済みとします。

ローカルで”Hello World”を出力するPythonソースコードを作成

  1. 以下のフォルダを作成します。
lambda-src-test
├─lambda_function.py
└─message.py

lambda_function.py

import json
import message

def lambda_handler(event, context):
    
    msg = message.hello()
    
    return {
        'statusCode':200,
        'body':json.dumps(msg)
    }

message.py

def hello():
    return "Hello world"
  1. PowerShellでフォルダをzip化します。
  • lambda-src-test.zipが作成されました。
> Compress-Archive .\lambda-src-test\* lambda-src-test


  1. zipファイルlambda-src-test.zipをS3バケットmori-s3-lambda-srcにアップロードします。

  2. lambda-src-test.zipのオブジェクトURLをコピーしておきます。

Lambda関数の作成

  1. Lambdaコンソールから関数の作成をクリックします。

  2. 以下の設定値でLambda関数を作成し関数の作成をクリックします。

  • 関数の作成:一から作成
  • 基本的な情報
    • 関数名:lambda-src-test
    • ランタイム:Python 3.11
    • アーキテクチャ:x86_64
  • デフォルトの実行ロールの変更
    • 実行ロール:基本的なLambdaアクセス権限で新しいロールを作成
  1. コードタブのアップロード元からAmazon S3の場所をクリックします。

  2. ポップアップが立ち上がるので、Amazon S3のリンクURL入力欄に手順4で取得したリンクを張り付けて保存をクリックします。

  • コードが更新されます。
  1. Testを実行すると、レスポンスとして"Hello World"が返却されます。

おわりに

手順7で .zipファイルを選択し、直接アップロードする事もできます。

Discussion