我仍然是AWS的新手,所以这可能是错的,但我的Cloudfront发行版似乎指向我的Lambda @ Edge功能的旧版本。
我按照本教程进行初始设置: https://aws.amazon.com/blogs/networking-and-content-delivery/resizing-images-with-amazon-cloudfront-lambdaedge-aws-cdn-blog/
几周以来,我更新了Lambda函数以完全满足我的需要,一直到Origin Response函数的版本16。但是,当我创建版本17(格式化.gif格式为.png)时,有些东西坏了。我回到了16,我仍然得到503错误。我已经创建了很多新版本,从滚动到创建新功能,我的Origin Response仍然会抛出503错误。 https://d361pysytz4143.cloudfront.net/images/blackhat.png?d=200x200
我注意到我的Cloudwatch for Origin Response不断引用版本17,无论我删除多少次日志堆栈和/或发布一个新的Lambda函数。
0点五十零分51秒
START RequestId:6118af00-3d22-11e8-a163-5577c9775707版本:17
START RequestId:6118af00-3d22-11e8-a163-5577c9775707版本:17
0时五十〇分51秒
2018-04-11T00:50:51.179Z 6118af00-3d22-11e8-a163-5577c9775707 TypeError:无法读取属性' status' exports.handler.err中的undefined(/var/task/index.js:19:51)
2018-04-11T00:50:51.179Z 6118af00-3d22-11e8-a163-5577c9775707 TypeError:无法读取属性' status'未定义的 at exports.handler.err(/var/task/index.js:19:51)
我确保将Cloudfront附加到我最新的Lambda函数中,因此它应该指向正确的,但它不会更新。如果我切换版本,Viewer Request功能会正确更新。
发生了什么,有什么缓存或我需要清除的东西吗?
答案 0 :(得分:0)
当使用Origin响应和Origin请求触发器使用lambda @ edge时,云前端会缓存响应。因此,这可能是为受争议的内容提供服务。您可以对设置lambda @ edge的特定路径执行无效操作,然后再次检查。要了解有关无效的更多信息,请参阅本文档https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html