File upload S3滑阀铲斗/匿名放置

File upload S3滑阀铲斗/匿名放置,file-upload,amazon-s3,cors,spool,File Upload,Amazon S3,Cors,Spool,我想使用S3 CORS和密钥过期来创建一个“spool bucket”。该滑阀铲斗应支持以下各项: 前端代码(比如jQuery)应该能够HTTP将任意命名的键放入bucket 后端代码(比如Python/boto)应该能够读取和删除这些键,给定一个键名 密钥应在X天后自行过期 究竟应该如何实现这一目标?经过一番努力,我发现: 创建一个桶 给每个人上传/删除和编辑权限(使用API应该很容易,使用控制台我的案例更容易) 设置以下(或类似)策略: 就这样。享受高可用性、自删除、CORS兼容、廉

我想使用S3 CORS和密钥过期来创建一个“spool bucket”。该滑阀铲斗应支持以下各项:

  • 前端代码(比如jQuery)应该能够
    HTTP将
    任意命名的键放入bucket
  • 后端代码(比如Python/boto)应该能够读取和删除这些键,给定一个键名
  • 密钥应在X天后自行过期

究竟应该如何实现这一目标?

经过一番努力,我发现:

  • 创建一个桶
  • 给每个人上传/删除和编辑权限(使用API应该很容易,使用控制台我的案例更容易)
  • 设置以下(或类似)策略:
就这样。享受高可用性、自删除、CORS兼容、廉价易用的HTTP空间带来的荣耀。要记住一件重要的事情:任何客户端都可以覆盖任何密钥;您应该进行相应的设计(我使用加密安全的生成密钥)

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*.example.com</AllowedOrigin>
        <AllowedMethod>PUT</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>
$.ajax http://my_spool_bucket.s3.amazonaws.com,
    type: "PUT"
    data: "contents of new object"
    headers:
        "x-amz-acl": "bucket-owner-full-control"