AWS導入(3)

ひととおり、できたのでlambda に落として見ようかなと
AWS
にも書いてあるし、多分かんたんに作れるだろうと

lambda関数書いてみます。

こちらのような旧式の方法もあるのですが、現在はlayerという共通関数を噛ますことができるので適用してみます。
適用すれば、こんな感じで一発でbuildできます

ResourceにFeedHandlerLayerが追加します。
metadataのところのpythonのバージョン大事です

もともとパッケージ配下にあった↑みたいなtemplete.yamlをlayer上に移動します
requirement.txtも同じlayer上に移します
参考
レイヤーの中にあるものはパッケージと同階層にいるように使えます

ビルドします。

ビルドすると、.aws-samのフォルダが作成されて、自分のパッケージとrequirementに書いたパッケージがすべてコピーされて置かれます。(つまり同階層にすべてある)
あと、ビルドと行っても全部コピーなので、直接弄ってもOK

api起動してみます

 

で、

アクセスしてみます。

ここでワチャワチャ言っている現象が起きちゃいました。結局numpyの中身が違うっぽいです。

原因はpythonのversionがちがうことAND macとliunxのC++のコンパイラーが違うせい?だと思う?

これが自分で

これがAWS

つまり、3.7.6にしなければ行けないらしいですね。環境変えるのだるいのでdocker使います。

ただ

ここにもある通り、dockerでpython3.7はむずいっぽいです。めんどいので3.6に変更
その場合は、3.6にlayerの設定を変更します

ここからは備忘録

もう疲弊しちゃいました.一旦アプリ開発しますわら。

ちなみにAWSは厳格にlinuxっぽいので、python3.6を作ってpackageをおとすOR aws-linuxつくって同じく落とす。ってのができます。

なぜか、できなかったので更に疲弊しちゃいました

もう、一回mongoでやります!

 

AWS

Posted by tanico.rikudo