AWS LambdaへPythonコードをアップロード

前の記事で、AWS Lambdaで関数が実行できました。この記事では、自作プログラムをLambdaで実行しようとします。

ところで…

Q. これ無料ですか?(もしかして手遅れですか?) A. 無料ではないけどめっちゃ安い

そして、どのくらい時間とメモリを使ったのかも出ています。

実行にかかった時間やメモリ

課金期間という怖い文言が書かれています。もうお金を使ってしまったらしく少し焦ります。いくらかかったのかを確認するために「lambda 料金」で検索して料金 - AWS Lambda |AWSを読みます。

相当やらかさなければLambdaで破産することはなさそう

アーキテクチャによって値段は変わりますが、とても安そうです。

念のためアーキテクチャを調べるためのlambdaのページをウロウロしているとコードのページの下の方に情報が載っていました。

Lambdaが実行された環境的なやつ

ということで、0.002秒、128MB、1件を使ったので…ざっくり0.001円もかかってなさそうです。今回は会社のAWSアカウントなのでこれが1兆円だったらクビだったかも知れません。

ちなみにestieには「AWS使ってみて学びたいけど、下手したらサービスに障害を起こしてしまいそうで怖い」という人のために、自由に遊べるAWS環境があります。無限ループが起きて多少の高額な請求が来るかも知れませんが、本番サービスへの影響は出ません。高額な請求が来る場合も、早めにslackで通知が来るはずです(まだ来たことはない)。

Q. 自作のPythonコードを動かすにはどうすれば良い? A. Lambdaにzipでアップロードすればいい

OKと出たとはいえ本当に動いているんでしょうか? もう少し確認したいので次はSlackに投稿するプログラムに書き換えてみます。「コード」の欄に実行したいコードを書いたら実行してくれそうな気がしますが、一応先ほどの【Slack自動保存】サーバーレスでCronのように定期的にプログラムを実行しよう | 株式会社ココナラを見るとzipファイルをアップロードするようです。さっき作ったSlackへ投稿するプログラムをzipに圧縮し、コードソースの右側にある「アップロード元」からzipファイルをアップロードしてみます。

アップロードしている様子

保存を押します。左に何か増えたのでここを選択すると…

アップロードされたプログラム

なーんだ結局さっきコードの欄にプログラムを貼り付けた状態になるだけじゃん(安心・慢心)。

じゃあ橙色のTestボタンを押して…

実行に失敗しました。エラーメッセージが出ています。少なくとも挙動は変わりました。

この記事では、(動かなかったけど)Lambdaにzipでコードをアップロードするとそれが実行されてそうなことが分かりました。次の記事から、このエラーを解決していきます。

© 2019- estie, inc.