boto.s3: copy () для ключевого объекта теряет метаданные Content-Type

Вот пример кода для копирования ключа S3. Есть много причин, по которым вы можете захотеть это сделать, одна из которых - обновить ключевые метаданные. И хотя это кажется общепринятым решением, существует большая проблема. Проблема в том, что когда я делаю приведенный ниже пример, я фактически теряю свой Content-Type, который по умолчанию возвращается к «application / octet-stream» (не очень полезно при попытке обслуживания веб-изображений).

# Get bucket
conn = S3Connection(self._aws_key, self._aws_secret)
bucket = conn.get_bucket(self._aws_bucket)

# Create key
k = Key(bucket)
k.key = key

# Copy old key
k.metadata.update({ meta_key: meta_value })
k2 = k.copy(k.bucket.name, k.name, k.metadata, preserve_acl=True)
k = k2

Есть идеи? Спасибо.

7
задан Ryan_IRL 3 February 2012 в 22:40
поделиться