Yas*_*ser 4 amazon-s3 amazon-web-services amazon-cloudfront
如何将文件直接上传到 Cloudfront 发行版?
现在我在javascript sdk的s3类中使用putobject方法
根据文档,我们可以直接上传到分发版 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AddingObjects.html
当我将 put 请求发送到 distributionname.cloudfront.net 时它说 403 forbidden 尽管我在 s3 中启用了 CORS 配置
是否有与 s3.putobject 类似的方法可以直接上传到 cloudfront?
还是我应该继续发送到 s3 分发源 buketname.s3.amazonaws.com/?
不存在将文件上传“到”Cloudfront 这样的概念。
\n尽管亚马逊文档中的标题不明确,您引用的链接仅真正讨论了将对象添加到您的origin - 而不是您的distribution 。正如那里所讨论的,您将对象添加到您的源,以便可以通过您的发行版访问它们......实际上并不是将对象添加到“发行版”。
\nCloudfront 不提供持久存储——它仅在从源(可以是 S3,也可以不是)获取对象后,存储(缓存)通过它请求的对象。
\n一旦一个对象被请求并缓存在 Cloudfront 边缘位置,它仍然不是真正意义上的“在”Cloudfront。它仅存储在被请求的特定边缘位置,并且仅存储在过期或以其他方式从该位置的 Cloudfront 缓存中逐出之前。
\n\n\n\xe2\x80\x9c [...] 当边缘位置需要空间时,Amazon CloudFront 将删除不太受欢迎的对象,以便为更受欢迎的对象腾出空间。这意味着不经常访问的静态对象不太可能保留在 Amazon CloudFront\xe2\x80\x99 边缘站点\xe2\x80\x99 缓存中。\xe2\x80\x9d
\n\xe2\x80\x94 https://aws.amazon.com/cloudfront/details/
\n
现在,综上所述...技术上可以通过Cloudfront将对象上传到 S3 ,但是这种技术不会将对象“放入”Cloudfront...它只允许您使用以下命令将对象放入 S3: Cloudfront 作为代理,可以在不太理想的网络条件下提供一些性能改进,但不会影响 Cloudfront 在获取对象时的后续行为,并且不会使可能已经存在的对象的旧副本失效缓存在全球各个边缘位置的 Cloudfront 中。
\n实际上,AWS 后来发布了一项名为“Amazon S3 Transfer Acceleration”的功能,以利用 Amazon CloudFront 的全球分布式边缘站点进行传输加速
http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
归档时间: |
|
查看次数: |
7006 次 |
最近记录: |