2016年3月30日水曜日

awsのlambdaを使って画像投稿時にリサイズ画像を作成してみようとした的なお話

  • このエントリーをはてなブックマークに追加

今回やりたいことは単純明快下記な感じの一部置き換え。

1.画像を投稿(post.php)
2.s3に画像をアップロード(bucket/original_img)
3.何種類かリサイズ(bucket/img/large/)
4.投稿完了
5.投稿表示

この3の部分をなくすと投稿完了までに中々スピードがアップするんじゃないかってことでやりたいわけで。
ってな感じで今日はそれらをやってみた的なお話をば。

今回は面倒だからコードは載せず。

こちらのコードが中々よかったのでコードの作り方だけ知りたい方はこちらから

で、結局のところ今回lambdaで画像変換することは断念。
というのもcloudfrontを使って画像のキャッシュを図っているからだったり。
つまり本来ならば5.投稿表示をする前にリサイズされた画像がほしいのに無いのが問題。
そうするとcloudfrontで画像が無いよ状態をキャッシュしてしまうから。

lambda上でリサイズが完了したらcloudfrontのキャッシュをリセットするしてあげればいいんだけど、
それにしても投稿表示する際に画像が見れない状態のままになってしまうから困るわけで。
じゃあ5.投稿表示を後にすればいいじゃんってなるとわざわざリサイズを分割する必要はないわけで。

とりあえずサーバ側でどうにかリサイズすればいいやって感じではある。
けど投稿スピードの改善とかそういうことは重要ではあるのでどうにかしたいわけではあるので。
サービス的には今回はちと厳しいのでどうにか他の方法を考えよう的なみたいな。

Adsense