Допустимые подстановочные знаки в PathPattern для AWS Cloudfront CacheBehavior - PullRequest
2 голосов
/ 26 апреля 2019

Пытаясь установить поведение кэша для пути в нашем приложении, документы AWS показывают только примеры конечных подстановочных знаков (т. Е. /images/*, https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-pathpattern,, а также https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern).

Однако мы используем шаблон пути, который реализует языковые переменные перед остальной частью пути, например (/{language}/product/{productId}).

Допустимо ли в шаблоне формирования облака устанавливать PathPattern с подстановочным знаком в каждой области переменной?

Т.е. /*/product/*.

Если нет, и я использую /product/* Я считаю, что только облачные маршруты, такие как https://website.com/product/{productId}, будут отобраны облачным фронтом для анализа, а маршрут, подобный https://website.com/en/product/{productId}, будетбыть пропущенным.

1 Ответ

1 голос
/ 26 апреля 2019

/*/product/* является действительным и правильным для https://example.com/en/product/{productId}.

Возможно, еще более правильным будет /??/product/*, поскольку ? соответствует ровно одному символу, а * соответствует 0 или более.

/product/* не соответствует приведенному примеру.

Помните также, что CloudFront сопоставляет запросы с шаблонами пути в порядке приоритета, поэтому «первое соответствие» (в порядке приоритета) всегда выигрывает - отсутствует понятие «наилучшего соответствия» или неоднозначного / недетерминированного соответствия шаблону пути .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...