前の記事で、AWS Lambdaで関数が実行できました。この記事では、自作プログラムをLambdaで実行しようとします。
ところで…
Q. これ無料ですか?(もしかして手遅れですか?) A. 無料ではないけどめっちゃ安い
そして、どのくらい時間とメモリを使ったのかも出ています。
課金期間という怖い文言が書かれています。もうお金を使ってしまったらしく少し焦ります。いくらかかったのかを確認するために「lambda 料金」で検索して料金 - AWS Lambda |AWSを読みます。
アーキテクチャによって値段は変わりますが、とても安そうです。
念のためアーキテクチャを調べるための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でコードをアップロードするとそれが実行されてそうなことが分かりました。次の記事から、このエラーを解決していきます。