発生した問題について
Pythonでスクリプトを作成し、AWS Lambda上で実行するような検証を行っていた。
スクリプトの概要としては、Python SeleniumでWebサービスのログイン画面をスクレイピングして、各XPathに必要な項目を入力するというもの。
いざ作成したスクリプトをLambdaにアップロードしようとすると…
エラーメッセージ
An error occurred (RequestEntityTooLargeException) when calling the PublishLayerVersion operation: Request must be smaller than 70167211 bytes for the PublishLayerVersion operation
どうもZipのファイルサイズが70167211バイト(約66.92MB)より大きくアップロード出来ないようです。
このあと何度も不要なファイルやディレクトリを削除し、Zip化して、アップロードを繰り返すわけですが、一向に上手くいかず…
解決案について
Xで呟いたところ、同僚がアドバイスをくれました(いい会社…)
「Docker ImageをECRに格納して、そのImageをLambdaで実行するといいよ」とのこと
AWSコンソールでLambdaを確認してみると
というものの、Dockerをほぼ触ったことがないので、ここからは一度Dockerについての学習を挟むことに
続きの記事が完成したらアップデートします!