使用AWS Lambda,Amazon API Gateway快速调整S3映像的大小 - HTML IMG标记的重定向过多

jon*_*lim 3 image-processing amazon-s3 image-resizing aws-lambda aws-api-gateway

我已经按照此AWS图像调整大小博客文章来动态调整我的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时将图像大小调整为预定义的大小?

谢谢!

小智 5

确保在环境变量中配置URL时,在URL的末尾没有/,这将导致流中的循环.

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