【问题标题】:Serverless Image Handler - How to set subfolder as root无服务器图像处理程序 - 如何将子文件夹设置为根
【发布时间】:2019-02-17 23:53:16
【问题描述】:

您好,我已启动并运行无服务器图像处理程序(使用此模板: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 源设置,并将“源路径”从 /image 设置为 /cloudfront_assets 或 /image/cloudfront_assets。

它修复了路径问题,所以我不必在图像前写“/cloudfront_assets/”,但无论我设置什么,图像重新缩放停止工作。

正确的做法是什么?

请帮忙,目前卡住了 将日志级别设置为在 lambda 函数中进行调试,以查看发生了什么,但据我所知,它只说“访问被拒绝”

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudfront image-resizing


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-04-07
      • 2022-01-11
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 2011-06-08
      • 1970-01-01
      相关资源
      最近更新 更多