このブログをフォローしました https://aws.amazon.com/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/
そしてこのリポジトリ https://github.com/awslabs/serverless-image-resizing
その場で AWS S3 で画像のサイズを変更できるようにするため。バケットが正常に作成されました。画像をバケットにアップロードするたびに、ブログに示されているように URL からサイズを変更できます。すべて正常に動作します。
問題は、画像がコード (ペーパークリップを使用した Ruby on Rails) からアップロードされた場合、画像に正常にアクセスできることです。応答
{
"message": "Internal server error"
}
The response headers are:
Request URL:<url>
Request Method:GET
Status Code:502
Remote Address:<IP>
Referrer Policy:no-referrer-when-downgrade
Response Headers
content-length:36
content-type:application/json
date:Thu, 23 Nov 2017 09:59:24 GMT
status:502
via:1.1 <hash>.cloudfront.net (CloudFront)
x-amz-cf-id:<id>
x-amzn-requestid:<id>
x-cache:Error from cloudfront
Request Headers
:authority:<url>
:method:GET
:path:/prod?key=<path/to/photo>
:scheme:https
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
accept-encoding:gzip, deflate, br
accept-language:en-US,en;q=0.9,de;q=0.8,ar;q=0.7
cache-control:max-age=0
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36
Query String Parameters
view source
view URL encoded
key:<path/to/photo>
非常に奇妙なことは、エラーが発生した後、バケット内の任意の場所で同じ画像を手動で再度アップロードすると、問題の原因となった新しくアップロードされた画像のURLではなく、元のサイズ変更 URLを使用して再試行すると、正常に動作することです。任意のサイズにサイズ変更できます。
手動でアップロードすると、まさにこの画像データに関連する何かがトリガーされるように見えますか? 私は見当もつかない!