CloudFront的路径模式是通配符运算符*贪心吗?

时间:2014-12-22 22:35:46

标签: amazon-web-services amazon-cloudfront

在CloudFront中,当我使用通配符*运算符时,将消耗尽可能多的字符(贪婪)或少量(非贪婪)?

在正则表达式中存在差异,但我对CloudFront不确定。

特别是如果我有

*c_*a*

我意识到这将匹配以下文件名:

ddddc_1111c_ab.png

但会匹配d还是1

1 个答案:

答案 0 :(得分:2)

贪婪不是一个因素,因为唯一必须回答的问题是“这种模式是否符合路径?”如果匹配,则匹配;只有当它不匹配时,评估才会在列表中继续。这是一个有序的“第一场比赛”,而不是“最佳比赛”。

  

当CloudFront收到最终用户请求时,会将请求的路径与路径模式按顺序进行比较,其中缓存行为在分发中列出。 第一个匹配确定将哪个缓存行为应用于该请求。

     

- http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern(强调补充)


另请注意,在使用AWS控制台时,可以使用上移/下移按钮手动重新排列缓存行为的顺序(确定“首次匹配”的含义),然后保存更改并等待分发的状态从In Progress更改回Deployed - 但在更改此设置后,您可能需要对*执行缓存失效,以便任何错误的缓存(因为模式未按预期配置匹配)将不会继续缓存和提供。