我想更改S3对象的server_side_encryption
settings(最好使用boto3
)。
据我了解,我实际上不能像这样更改S3对象设置,而是需要使用新设置“复制”该对象。首先,这是真的吗?如果是这样,是否可以将S3对象复制到同一键(一次操作),从而用具有新设置的新文件覆盖原始文件?
答案 0 :(得分:1)
AWS S3对象一旦创建就无法修改。您不能就地写信,追加等。 AWS确实支持通过在更改时就地复制S3对象来更改它。加密属于该类别。
这是John Rotenstein的一个python示例,说明如何加密S3中已经存在的文件。在John的答案中投票,这对您有帮助。
约翰·罗滕斯坦的例子:
import boto
conn = boto.connect_s3('REGION')
bucket = conn.get_bucket('BUCKET')
for k in bucket.list():
bucket.copy_key(new_key_name=k.key, src_bucket_name=bucket.name, src_key_name=k.key, encrypt_key=True)
答案 1 :(得分:1)
是的,您可以将文件复制到其自身以更改服务器端加密设置。
以下是使用AWS Command-Line Interface (CLI)的示例:
ser = serial.Serial('/dev/ttyACM0', 115200)
inputstring = ser.readline()