やったもん勝ち

主にプログラミングのこと。生産性向上の某とかも。

AWS

AWS lambdaのpythonで並列実行する方法

普通の並列実行は、こちらを参考にして実装できました。 qiita.com lambdaで実行するとなると若干修正しました。 import time from multiprocessing import Process, Pipe hoge_list = [1, 2, 3, 4] def wait_and_print(i, *args, **kwargs): print(f'start …

AWS Lambdaでdatetimeを使うときにコンテナが再利用される罠

lambdaのpythonでdatetimeを使おうとしてコードを書いて、いざ動かしてみると、どうもちょっとおかしい。 明らかにおかしいというよりは時折おかしくなることがある。 これが逆に厄介でした。 原因は、lambdaの実行コンテナのコンテキストは再利用されること…

AWS SSMセッションマネージャーでvimのインサートモードから抜けられない問題

会社でAWS SSMを使って開発をしてたのが初めてだったのですが、罠にハマりました。 ブラウザからsshつなぐっていう感じの認識で、あまり深い理解はしていないのですが、とりあえずsshみたいに使えるもんだと思ってやってましたが、vimでハマりました。 vimで…

pythonのaws-sdkのboto3を使ってライブラリのコードをちゃんと読んでみる①

boto3とは? pythonのaws-sdkです。 他の言語のaws-sdkは大体aws-sdkみたいな名前で公開されていることが多いのですが、なぜかpythonだけboto3っていう名前です。 boto3.amazonaws.com 個人的にはこのドキュメントすごい読みやすくて好きなライブラリです。 …

aws-cliを使ってs3にgz圧縮ファイルをアップロードするときの注意点

aws-cliを使ってローカルからファイルをアップロードしようとしたのですが、csv.gzなファイルをアップロードするときにちょっとハマってしまったのでメモとして残しておきます。 まずはcsvファイルを用意します。 $cat sample.csv hoge,fuga foo,bar $ gzip …

AWSのEC2でAirflow実行環境を構築してチュートリアルを動かしてみる

今、airflowが熱いらしいです。 そこら編の解説は他の有用や記事に任せて、とりあえずチュートリアル動かしてみた備忘録を残しておきます。 AWS環境 Amazon Linux 2 セキュリティグループは sshの22番 ウェブコンソールの8080番 を開けておきます 大体チュー…

顔認識・画像認識ライブラリAPIを使ってみる

経緯 個人的な趣味で、顔認識のAPIを使いたいなと思い立ちました。 OpenCVで自前でできないかなーとも思ったのですが、なかなか難しいっぽく、諦めてAPIを使うという選択になった次第です。 どこがAPIを提供しているのか、以下のリンクがとても参考になりま…

40秒で支度しな!AWSのEC2にpython36で最速でflask実行環境を作成する

AWSのEC2、amazon linuxです。 $ sudo yum install -y python36 $ sudo pip-3.6 install flask $ vi ~/hello.py # 以下の内容で作成作成 from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' if __name__ ==…

pythonのboto3でのエラーハンドリング

問題 pythonのboto3で以下のようなコードを書いていて、 try: hoge() except: print("error") flake8にdo not use bare except'と怒られた。 pythonのエラーの書き方をちゃんと調べてみると、エラーの種類をexceptで指定しておかないと、エラーメッセージを…