0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

S3のオブジェクトを更新したらLambdaレイヤーの更新も必要?

Last updated at Posted at 2023-03-25

答え

YES

※結論だけ知りたい人は戻るボタンをPUSH!

実験(変更前)

・下記のディレクトリ構造でファイルを作成

ffmpeg.zip/
 └ bin/
   └ ffmpeg

・該当のZIPアーカイブをS3に格納し、Lambdaレイヤーを作成。
スクリーンショット 2023-03-25 20.49.59.png

・Lambda関数のコードを記述
・printでディレクトリを表示するだけの関数

lambda_function.py
import json
import os

print("Contents of /opt/bin directory:")
print(os.listdir('/opt/bin'))

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

・Lambda関数にLambdaレイヤーを設定
スクリーンショット 2023-03-25 20.52.00.png

テスト!
スクリーンショット 2023-03-25 21.17.15.png

CloudWatchLogsの結果、想定通りffmpegが表示されました。
スクリーンショット 2023-03-25 20.54.07.png

実験(変更後)

・下記のディレクトリ構造に変更。binディレクトリを消しただけ。

ffmpeg.zip/
  └ ffmpeg

・既存のffmpeg.zipを削除し変更後の同名のZIPアーカイブをS3に格納。

・この後にLambda関数をテストしてもCloudWatchLogsに何も表示されない。

・Lambdaレイヤーを更新S3のURLなど全て以前と同様。バージョン2であることを確認スクリーンショット 2023-03-25 21.29.34.png

・Lambda関数のLambdaレイヤーを更新。バージョン2を設定。
スクリーンショット 2023-03-25 21.28.45.png

・テスト!
・binディレクトリは消えているので想定通りのエラー
スクリーンショット 2023-03-25 21.31.16.png

結論

S3のオブジェクトを更新したらLambdaレイヤーの更新もしよう!(大事なことなので2回言いました。)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?