AWS Lambdaで画像のリサイズImageMagickで処理エラー!原因は画像ファイルのContent-Typeにあった

最近あったとても恐しい出来事をお話しさせて頂きます。

Tumisu / Pixabay

勤務先の会社ではAWSのクラウドを利用してサービスを提供しているのですが約半年ほど前に導入した画像リサイズが原因不明のエラーで処理が行えなくなるという事象が発生しました。

S3にアップした画像をLambdaでリサイズして別バケット(bucket)に保存するNode.jsのサンプルコード
とある案件でS3にアップされるオリジナル画像をリサイズで別バケットに保存したい要望があり先人の知恵と伝家の宝刀コピペを駆使して組んでみました...

「なぜ」? 半年以上前からなんの問題もなく実行されていたサーバレスのlambdaさん。どうして今日なの?そして突然になぜ?

原因を調べると驚きの事実が分かりました。

処理の流れを簡単に

画像(FTP)→PHPの取得PG→S3アップ→イベントトリガーでLambda(リサイズ)→S3別バケットに保存 が流れです。

実はエラーが発生し始めたタイミングで処理の流れは変えずに取得PGを変更していた しかしPGの処理に誤りはなく画像ファイルをS3へアップロード出来ていた。では なぜ?

エラー箇所はLambda内のImageMagickの処理時に発生していた。前日まで正常に動いていたが、取得PGを変更してからアップロードした画像は全てエラーになっているようだ。

原因をPG修正してくれた会社さんと共に調べる そして画像アップロードの方法を色々と試すと画像ファイルをローカルPCからAWSのコンソールでアップすると問題なくリサイズされる?なぜ? で数時間が経過してしまうが協力会社さんから連絡があり「Content-Typeでした」と

やられたーーーー

もしかしたら、常識なのかもしれませんがImageMagickではContent-Typeを判断して処理を実行しているようで取得PGはPHPからJavaに言語が変わりPHPの場合はContent-Typeありの画像ファイルとしてアップロードされていたのですがJavaは明示的にContent-Typeを指定しないと拡張子にjpgが付いただけのオブジェクトファイルをアップロードしていたことになります。ここに原因があったのです

シェアする

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

フォローする

adana escort adıyaman escort afyon escort ağrı escort aksaray escort amasya escort ankara escort antalya escort ardahan escort artvin escort aydın escort balıkesir escort bartın escort batman escort bayburt escort bilecik escort bingöl escort bitlis escort bolu escort burdur escort bursa escort çanakkale escort çankırı escort çorum escort denizli escort diyarbakır escort düzce escort edirne escort elazığ escort erzincan escort erzurum escort eskişehir escort gaziantep escort gebze escort giresun escort gümüşhane escort hakkari escort hatay escort ığdır escort ısparta escort istanbul escort izmir escort izmit escort kahramanmaraş escort karabük escort karaman escort kars escort kastamonu escort kayseri escort kilis escort kırıkkale escort kırklareli escort kırşehir escort kocaeli escort konya escort kütahya escort malatya escort manisa escort mardin escort mersin escort muğla escort muş escort nevşehir escort niğde escort ordu escort osmaniye escort rize escort sakarya escort samsun escort şanlıurfa escort siirt escort sinop escort şırnak escort sivas escort tekirdağ escort tokat escort trabzon escort tunceli escort uşak escort van escort yalova escort yozgat escort zonguldak escort marmaris escort bodrum escort alanya escort side escort konyaaltı escort muratpaşa escort manavgat escort çeşme escort sincan escort çankaya escort keçiören escort mamak escort etimesgut escort buca escort konak escort karabağlar escort bornova escort karşıyaka escort bayraklı escort alsancak escort ataşehir escort pendik escort maltepe escort kartal escort kadıköy escort görükle escort atakum escort ayvalık escort deutsche escort berlin escort düsseldorf escort hamburg escort münchen escort stuttgart escort berlin escort düsseldorf escort hamburg escort münchen escort stuttgart escort deutsche escort köln escort ataşehir escort avcılar escort bağcılar escort bahçelievler escort bakırköy escort başakşehir escort bayrampaşa escort bebek escort beşiktaş escort beykoz escort beylikdüzü escort beyoğlu escort çatalca escort çekmeköy escort esenler escort esenyut escort fatih escort gaziosmanpaşa escort güngören escort kadıköy escort kağıthane escort kartal escort küçükcekmece escort maltepe escort pendik escort sancaktepe escort sarıyer escort şile escort silivri escort şişli escort sultanbeyli escort sultangazi escort taksim escort tuzla escort ümraniye escort üsküdar escort zeytinburnu escort manavgat escort