【问题标题】:upload files via cloudfront distribution通过云端分发上传文件
【发布时间】:2014-07-23 18:07:27
【问题描述】:

如何将文件直接上传到云端分发?

现在我在 javascript sdk 的 s3 类中使用 putobject 方法

根据文档,我们可以直接上传到发行版 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AddingObjects.html

当我将 put 请求发送到 distributionname.cloudfront.net 它说 403 禁止 虽然我在 s3 中启用了 CORS 配置

有没有类似s3.putobject的方法直接上传到云端?

或者我应该继续发送到分布 bukename.s3.amazonaws.com/ 的 s3 来源吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudfront


    【解决方案1】:

    没有将文件“上传到”Cloudfront 这样的概念。

    您引用的链接仅真正讨论了将对象添加到您的origin——而不是添加到您的distribution,尽管亚马逊文档中的标题不明确。正如那里所讨论的,您正在将对象添加到您的来源,以便它们可以通过您的分发访问...实际上并不是将对象“添加到”分发中。

    Cloudfront 不提供持久存储——它只存储(缓存)通过它请求的对象,在从源(可以是 S3,也可以不是)获取对象之后。

    一旦对象在 Cloudfront 边缘位置被请求和缓存,它仍然不是真正意义上的“在”Cloudfront 中。它只存储在请求它的特定边缘位置,并且只存储到它过期或从该位置的 Cloudfront 缓存中逐出。

    [...] 当边缘位置需要空间时,Amazon CloudFront 将删除不太受欢迎的对象,以便为更受欢迎的对象腾出空间。这意味着您不经常访问的静态对象不太可能保留在 Amazon CloudFront 边缘站点的缓存中。

    ——https://aws.amazon.com/cloudfront/details/

    现在,说了这么多...it is technically possible通过 Cloudfront 将对象上传到 S3,但是这种技术不会将对象“放入”Cloudfront...它只允许您使用 Cloudfront 作为代理将对象放入 S3,这可以在不太理想的网络条件下提供一些性能改进,但在获取对象时对 Cloudfront 的后续行为没有影响,并且不会使旧的无效可能已经缓存在全球各个边缘位置的 Cloudfront 中的对象的副本。

    【讨论】:

    • 真的感谢以上所有,我无法通过 CloudFront 将文件上传到 s3,它给了我一个 Forbidden 403 响应,我将文件放在邮递员的表单数据中,但它没有工作(启用 POST 和 PUT)
    【解决方案2】:

    据我了解,如果您在存储桶上使用 Transfer Acceleration,则上传到该存储桶的对象将首先上传到 CloudFront,然后再传输到实际的 S3 存储桶。

    【讨论】:

      【解决方案3】:

      实际上 AWS 发布了一个功能,后来称为 “Amazon S3 传输加速” Transfer Acceleration 利用 Amazon CloudFront 的全球分布边缘站点

      http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html

      【讨论】:

      • 据我了解,AWS s3 传输加速用于将对象上传到 s3 非常快,但是我们上传到 s3 的方式与我们在启用传输加速之前上传的方式相同,在启用它之后我们也上传到 s3使用 aws 控制台,如何加速???
      【解决方案4】:

      如果您启用这些请求,Cloud Front 可以支持这些请求:POST、PUT、DELETE、OPTIONS 和 PATCH。

      Aws 建议使用 CloudFront 上传/下载小于 1Gb 的文件。对于较大的文件,建议使用 S3 Transfer Accelerator。

      见:https://aws.amazon.com/blogs/aws/amazon-cloudfront-content-uploads-post-put-other-methods/

      https://aws.amazon.com/s3/faqs/#Amazon_S3_Transfer_Acceleration

      【讨论】:

        猜你喜欢
        • 2023-02-17
        • 2015-01-17
        • 1970-01-01
        • 2016-09-30
        • 2020-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-10
        相关资源
        最近更新 更多