我想使用 S3 CORS 和密钥过期来创建一个“假脱机桶”。此线轴桶应支持以下内容:
- 前端代码(比如 jQuery)应该能够
HTTP PUT
任意命名存储桶的键 - 给定键名,后端代码(例如 Python/boto)应该能够读取和删除这些键
- 密钥应在 X 天后自行过期
这究竟应该如何实现?
我想使用 S3 CORS 和密钥过期来创建一个“假脱机桶”。此线轴桶应支持以下内容:
HTTP PUT
任意命名存储桶的键这究竟应该如何实现?
经过一番折腾,这就是我发现的:
<?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>
x-amz-acl: bucket-owner-full-control
。例如,在 CoffeeScript 和 jQuery 中,您的 PUT 将如下所示:$.ajax http://my_spool_bucket.s3.amazonaws.com,
type: "PUT"
data: "contents of new object"
headers:
"x-amz-acl": "bucket-owner-full-control"
而已。沉浸在高可用、自删除、兼容 CORS、便宜且简单的 HTTP 假脱机空间的荣耀中。要记住的一件重要事情:任何客户端都可以覆盖任何密钥;您应该进行相应的设计(我使用加密安全生成的密钥)。