使用 boto3 下载带有服务器端加密 SSE AES256 的文件

问题描述

我可以列出源存储桶中的文件,但是当我尝试下载它们时,我收到“客户端错误 403”,源团队启用了服务器端加密 AES256。 所以当我尝试:

client.download_fileobj(bucket,file,f,ExtraArgs={"ServerSideEncryption": "AES256"})

我收到 ValueError: Invalid extra_args key 'ServerSideEncryption',必须是以下之一:VersionId、SSECustomerAlgorithm、SSECustomerKey、SSECustomerKeyMD5、RequestPayer 我该如何解决这个问题?

解决方法

它应该可以在不提及 ExtraArgs={"ServerSideEncryption": "AES256"} 的情况下工作。

当SSE算法为AES256时,下载对象时无需提及,上传时才需要提及。

在下载时,您需要确保用于下载对象的凭据可以访问用于加密对象的密钥。