通过Boto设置缓存控制并不起作用

时间:2015-07-21 16:19:27

标签: python amazon-web-services amazon-s3 boto

我通过Boto上传文件。我也尝试设置Cache-Control标头。但是在我看到它之后它没有设置

这是我的代码。

def upload(self, filename, filepath):
    k = Key(self.fusion_bucket)
    k.key = "%s/%s/%s" % (self.folder, get_current_date(), filename)
    k.set_contents_from_filename(filepath, policy='public-read')

    ext = filename.split(os.extsep)[1]
    k.set_metadata('Content-Type', 'video/%s' % (ext))
    k.set_metadata('Cache-Control', self.cache_header)

    return k.generate_url(expires_in=0, query_auth=False)

我可以确认self.cache_header有价值且公开,max-age = 1864000`

1 个答案:

答案 0 :(得分:2)

set_metadata在本地Python dict中设置元数据。您正在寻找set_remote_metadata

http://boto.readthedocs.org/en/latest/ref/s3.html?highlight=set_remote_metadata#boto.s3.key.Key.set_remote_metadata