Вы получаете доступ к определенным версиям файла в S3, добавляя версию к вашему запросу, например, http://example.cloudfront.net/image.png?verisonId=[id]
.
Вам также необходимо установить политику корзины, которая разрешает вашему дистрибутиву CloudFront доступ к версионнымобъекты:
{
"Version":"2012-10-17",
"Id": "CloudFrontAccessToVersionedObjects",
"Statement": [{
"Action": ["s3:GetObject", "s3:GetObjectVersion" ],
"Effect": "Allow",
"Principal":{"CanonicalUser":"<CLOUDFRONT CANONICAL ID>"},
"Resource": "<BUCKET>",
"Sid": "CloudFrontAccess"
}]}
После применения политики корзины вам нужно будет сделать кэш недействительным.
В качестве примечания, если вы всегда хотите использовать определенную версию, быстрый способреализовать это без внесения каких-либо изменений в существующий код - это использовать Viewer Request Lambda @ Edge, чтобы переписать запрос, прежде чем он будет передан в S3 Origin, чтобы добавить versionId=[id]
ко всем запросам к S3 origin.