深く後悔したことをメモしていく。
AWSのサービスと関係するコードは、最初の1行からAWS上でユニットテストすべし
ユニットテストは手元で走らせたいのが人情だが、やってはならない。うっかりmotoを信じた私が馬鹿だった。motoは何をしてもまったくエラーを返さない。
Lambdaでは共有メモリが使えない
そのためmultiprocessingのPoolとQueueが使えない。そのためlokyも使えない。
Parallel Processing on AWS Lambda with Python using Multiprocessing
CodeBuildでCodeCommitのリポジトリをソースにすると、普通にgit cloneする。しかしCodePipelineでCodeBuildをキックすると、CodeCommitのリポジトリをZIPファイルとして取得するので、.gitディレクトリ等が存在せず、Gitメタデータが使えない
知らなければ絶対に思いつかない驚天動地のクソ仕様。AWSに限らず、誰か「知らなければ必ずハマる驚天動地のクソ仕様」というまとめを作ってください。
随時追記する予定。