Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS无服务器映像处理程序是否存储派生?_Amazon Web Services_Aws Lambda_Amazon Cloudformation_Thumbor - Fatal编程技术网

Amazon web services AWS无服务器映像处理程序是否存储派生?

Amazon web services AWS无服务器映像处理程序是否存储派生?,amazon-web-services,aws-lambda,amazon-cloudformation,thumbor,Amazon Web Services,Aws Lambda,Amazon Cloudformation,Thumbor,我已经部署了AWS云结构来调整S3存储桶中的图像大小,它工作得很好。它使用Cloudfront、API网关、Lamdba和一个自定义域 我正在查看Lambda函数发出的请求,在我看来,几乎每次都会重新生成每个调整大小的图像。我猜它们被Cloudfront发行版缓存了很短一段时间。我想这就是云层的设计 这意味着我生成的Lambda函数调用比严格需要的要多。当我在过去自己做这件事的时候,我已经把导数保存回S3,这样Lambda就再也不会被称为那个尺寸了。当原始图像在S3更新时,由于衍生图像没有重新生

我已经部署了AWS云结构来调整S3存储桶中的图像大小,它工作得很好。它使用Cloudfront、API网关、Lamdba和一个自定义域

我正在查看Lambda函数发出的请求,在我看来,几乎每次都会重新生成每个调整大小的图像。我猜它们被Cloudfront发行版缓存了很短一段时间。我想这就是云层的设计

这意味着我生成的Lambda函数调用比严格需要的要多。当我在过去自己做这件事的时候,我已经把导数保存回S3,这样Lambda就再也不会被称为那个尺寸了。当原始图像在S3更新时,由于衍生图像没有重新生成,这导致了它自身的问题


理想情况下,我想做的是:;将衍生品返还给S3;或者让CF上的缓存过期永不过期,然后在更新的路径上手动调用flush。在当前的设计中,这两种方法是否可行?哪一个更适合向媒体密集型网站提供图像?

我在AWS论坛上读到一条帖子,似乎表明Thumbor参数
TC\u AWS\u RESULT\u STORAGE\u BUCKET
TC\u AWS\u RESULT\u STORAGE\u ROOT\u PATH
可能会配置此行为。然而,我添加了它们却没有成功。有人成功地使用了这些吗?您是否看到“当启用tc_aws.result_storages.s3_存储时”。但我不知道在哪里编辑代码:DOk,如果您下载Lambda部署包存档并浏览到文件夹/image handler/您会看到thumbor.conf-file。有以下设置。然后,您可以修改该文件并将整个归档文件上载回Lambda。但是,我会看到一个错误,上面写着“ParamValidationError:参数验证失败:无效的bucket name”“:bucket name必须与regex“^[a-zA-Z0-9.\-\\]{1255}$”您好,我需要处理将编辑过的图像保存到S3的任务。我已经使用AWS文档中更新的lambda函数和CloudFormation模板完成了
awslaps/serverless图像处理程序的
,我也应用了它。但即使没有发生错误,图像也不会记录到S3。我认为这可能是一个安全问题,但我允许了
Allow:s3:PutObject
。如果您检查代码,
image handler.js:recordediteimage
会按预期调用,但putObject的回调不会。我刚刚找到了一个答案。我不知道传递到
s3.putObject(params,callback)
函数的params对象是否需要具有特定的aws权限,其中params是一个json,包含设置为公共读取的ACL密钥
Allow:s3:putObject
Allow:s3:PutObjectAcl