答え
YES
※結論だけ知りたい人は戻るボタンをPUSH!
実験(変更前)
・下記のディレクトリ構造でファイルを作成
ffmpeg.zip/
└ bin/
└ ffmpeg
・該当のZIPアーカイブをS3に格納し、Lambdaレイヤーを作成。
・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!')
}
CloudWatchLogsの結果、想定通りffmpegが表示されました。
実験(変更後)
・下記のディレクトリ構造に変更。binディレクトリを消しただけ。
ffmpeg.zip/
└ ffmpeg
・既存のffmpeg.zipを削除し変更後の同名のZIPアーカイブをS3に格納。
・この後にLambda関数をテストしてもCloudWatchLogsに何も表示されない。
・Lambdaレイヤーを更新S3のURLなど全て以前と同様。バージョン2であることを確認
・Lambda関数のLambdaレイヤーを更新。バージョン2を設定。
・テスト!
・binディレクトリは消えているので想定通りのエラー