无服务器图像处理程序 - 如何将子文件夹设置为root

问题描述 投票:3回答:1

嗨,我启动并运行无服务器图像处理程序(使用此模板: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函数,以查看发生了什么,但它只是说它得到“访问被拒绝”据我所知

amazon-web-services amazon-s3 amazon-cloudfront image-resizing
1个回答
3
投票

处理程序支持重写功能,允许您修改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中找到

© www.soinside.com 2019 - 2024. All rights reserved.