3
如何使用python boto,如何修改Http標題?如何在使用boto或其他工具的S3存儲桶中爲一個文件設置Http標題
在我的S3桶我有名字「商店」,因爲我把它上傳沒有文件擴展名,我必須手動設置HTTP頭文件:的ContentType = text/html的
我想用一個python腳本使用boto爲所有需要此文件的文件設置此標題。不過,我找不到的一種方法,它會更改標頭。
如何使用python boto,如何修改Http標題?如何在使用boto或其他工具的S3存儲桶中爲一個文件設置Http標題
在我的S3桶我有名字「商店」,因爲我把它上傳沒有文件擴展名,我必須手動設置HTTP頭文件:的ContentType = text/html的
我想用一個python腳本使用boto爲所有需要此文件的文件設置此標題。不過,我找不到的一種方法,它會更改標頭。
import boto
from boto.s3.connection import S3Connection
from boto.s3.key import Key
ak = " ... key"
sk = " ... key"
bucketname = " ... "
c = S3Connection(ak, sk)
def setcontenttype():
c = S3Connection(ak, sk)
bucket = c.get_bucket(bucketname)
keys = bucket.get_all_keys()
for key in keys:
ext = os.path.splitext(key.name)[1]
if ext == "" and not key.name.endswith("/"):
print key.name
k.set_contents_from_string(k.get_contents_as_string(), {"Content-Type":"text/html"}, True)
s3_conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = s3_conn.get_bucket(s3_bucket_name)
keys = bucket.list()
for key in keys:
key = bucket.get_key(key.name)
metadata = key.metadata
metadata['Content-Type'] = "text/html"
key.copy(s3_bucket_name, key, metadata=metadata, preserve_acl=True)
你要知道,這將取代舊的元數據,所以你應該複製所有其他元頭(如高速緩存控制....)