嗨,我启动并运行无服务器图像处理程序(使用此模板:https://docs.aws.amazon.com/solutions/latest/serverless-image-handler/deployment.html)。部署工作正常,一切都很好。
我把它指向我已经存在的桶“MyBucket”,我可以在将图像放入该桶时进行图像重新缩放和填充。但是,我们将所有图像都放在该存储桶的子文件夹中,称为“cloudfront_assets”。
因此,在将我的CNAME分配给新的云端分发后,我不得不像这样引用我的图像:
https://subdomain.mydomain.com/cloudfront_assets/image.jpg
代替
https://subdomain.mydomain.com/image.jpg
我尝试编辑cloudfront disitrbutions origin设置,并将“Origin Path”从/ image设置为/ cloudfront_assets或/ image / cloudfront_assets。
它修复了路径问题,因此我不必在图像之前写入“/ cloudfront_assets /”,但无论我设置什么,图像重新缩放都停止工作。
这样做的正确方法是什么?
请帮助,目前停留在当前设置日志级别调试lambda函数,以查看发生了什么,但它只是说它得到“访问被拒绝”据我所知
处理程序支持重写功能,允许您修改URL,这可能是实现它的最简单方法:https://docs.aws.amazon.com/solutions/latest/serverless-image-handler/appendix-b.html
基本上,您可以重写所有URL以始终附加/ cloudfront_assets /,类似于示例重写添加/fit-in/
的方式
重写像。*这样的东西应该抓住几乎所有东西。由于代码是基于python的,你应该使用python regexp语法。
该函数的底层代码可以在github repos:https://github.com/awslabs/serverless-image-handler/blob/master/source/image-handler/lambda_rewrite.py中找到