🌊
AWS LambdaでAWSCLIを利用するときに嵌った話
はじめに
Lambda Layerを利用してAWSCLIをインポートしようとしたのですが少し嵌りましたので
自分用メモに本記事を執筆しております。
前置き
本記事は下記ページを参考に設定を行いましたがそれだけでは足りない部分があり、
その補足となります。
参考ページ
嵌ったところ(修正箇所)
AWSCLIパッケージをZipにまとめた際にZipファイルのパーミッションが750の状態で
Lambda Layerを作成していたのでインポートしたパッケージが読み取り専用になっていました。
パーミッションを755に変更しました。
またLambda Layerのランタイムとパッケージのランタイムも合わせてください。
それとLamda関数のソースコードも下記のように一部修正が必要となります。
command_list = command.split(' ')
↓
command_list = command.split(',')
result = subprocess.run(command_list, stdout=subprocess.PIPE);
↓
result = subprocess.run(command_list, shell=True, stdout=subprocess.PIPE);
最後に
Lambdaどころかコーディング自体まったく触ったことがなかったので一日中嵌っておりました(笑)
インフラエンジニアもコーディングを覚えないと視野が狭まってしまうなと感じよい機会になりました。
Discussion