CloudFront 是否支持版本化来源?

Does CloudFront support versioned origins?

我有一个版本化的 S3 存储桶作为我的来源。这是从 CloudFront 访问对象的特定版本的正确格式吗?

http://example.cloudfront.net/files/file.pdf?verisonId=[id]

它忽略 versionId 并始终服务于 head 对象。

我的 S3 存储桶策略允许对 CloudFront 执行以下操作:

s3:GetObjectVersion

s3:GetObject

我搜索了又搜索,但似乎找不到任何关于此的文档。如何在 CloudFront URL 中指定 versionId?

我想通了。在 CloudFront 中,转到分布 > 行为。将 "Forward Query Strings" 设置为是。这将允许 CloudFront 将 versionId 传递给 S3 并缓存正确的版本。

请注意,您还只需要 s3:GetObject 存储桶策略操作即可完成这项工作。