使用AWS Lambda,Amazon API Gateway快速调整S3映像大小 - HTML IMG标记

时间:2017-09-10 15:55:43

标签: image-processing amazon-s3 aws-lambda image-resizing aws-api-gateway

我已经按照AWS image resizing blog post来动态调整我的S3存储桶中的图像,并在使用存储桶的静态网站托管端点请求时返回它们。当我在网页浏览器地址栏中输入网址时,它对我来说很好。

当我这样做时,我可以看到2个重定向发生(如果尚未生成已调整大小的图像): 首先,S3端点将404重定向到API网关URL 调用lambda函数以生成调整大小的图像,API网关再次将浏览器重定向回端点URL。现在已调整大小的图像,它会显示出来。

我打算做的是在网页中显示动态调整大小的图像,因此我只是尝试将调整大小的图像的端点URL放在img标签中,例如。 <img src="http://YOUR_BUCKET_WEBSITE_HOSTNAME_HERE/300×300/blue_marble.jpg">

当我这样做时,我的网页中都没有显示任何内容。在浏览器控制台中,我可以看到一条错误消息 - 它正在尝试获取API网关URL,错误是ERR_TOO_MANY_REDIRECTS

我有办法在网页中显示已调整大小的图像吗?

如果没有,我需要做什么来修改这种方法,以便在上传到S3后将图像大小调整为预定义的尺寸?

谢谢!

1 个答案:

答案 0 :(得分:5)

确保在您的环境变量中配置URL时,您的网址末尾没有/,这将导致您的流程中出现循环。

http://BUCKET_NAME.s3-website.us-east-2.amazonaws.com(这很好) 即http://BUCKET_NAME.s3-website.us-east-2.amazonaws.com / (这是糟糕的删除斜杠)