【发布时间】:2012-02-26 12:48:27
【问题描述】:
这里是一些复制 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
有什么想法吗?谢谢。
【问题讨论】:
-
copy只返回对象的浅拷贝。尝试使用deepcopy。 -
@Joel:boto 不提供 deepcopy。
标签: python amazon-s3 content-type boto