2012-01-18 58 views
13

是否有可能在Amazon S3上使用任意命名来定制标题?Amazon S3上的自定义标题

例如,我使用指向Amazon S3的CDN作为原始服务器,并且为了启用CDN上的高级功能,我需要使用自定义标头“x-something-something”...

我发现可以用“x-amz-meta-(something)”来做到这一点,但是如果没有amz,那么更像“x-(something) - (something)”的东西呢?

Amazon S3 custom headers

+0

你不能用这种方式添加头文件来完成什么? – Kekoa 2012-01-18 21:10:39

回答

11

我不认为这是可能与他们的current API。它们涵盖了缓存和浏览器互操作所需的主要标题。

我认为他们是安全的,只允许x-amz-meta-前缀自定义标题,可能会保持与用户选择的标题在未来更新api时发生冲突。

如果您需要附加到您的对象的自定义属性,解析出您的客户端应用程序中的x-amz-meta-应该是微不足道的。

+5

如果您控制客户端应用程序“微不足道”......但是如果它是某个第三方,它并不是那么简单! – Jeff 2012-06-22 17:23:52

+1

@Jeff我想如果你不直接访问AWS,你会对任何你使用的限制感到满意。 – Kekoa 2012-06-22 18:01:32

+0

谢谢,我想知道为什么我不能自己设置自定义标题。 'x-amz-meta-'prefix的确的确如此(亚马逊的记录很糟糕)。 – Frederic 2014-09-22 15:19:58

0

我能用s3cmd tool实现这个功能。我写了同步我使用的AWS客户端工具--cache-control参数静态网站,然后手动重新启动它,并增加了一些其它的头几个特定的​​文件同步脚本:

CD/appropriatedirectory

#删除当前网站
AWS S3 RM S3:// yourbucket --recursive --exclude '日志/ *'

#上传新的网站,缓存标头设为1个月的所有文件
AWS S3同步。 s3:// yourbucket --exclude'.idea/*'--exclude'.git/*'--exclude'.gitignore'--cache-control max-age = 2592000

#覆盖缓存头某些文件
python/pathToS3cmd/s3cmd modify --add-header =“Cache-Control:no-cache,no-store,must-revalidate”s3://yourbucket/somefile.html
python/pathToS3cmd/s3cmd/s3cmd modify --add-header =“Expires:0”s3://yourbucket/somefile.html
python/pathToS3cmd/s3cmd/s3cmd modify --add-header =“Pragma:no-cache”s3:// yourbucket /somefile.html

+0

这有一些无用的日志,IntelliJ和Git文件。我把它作为实用同步脚本的一个有希望的例子。 – 2017-09-22 18:38:26