AWS SDK c++:通过服务器端加密将对象放入S3

AWS SDK C++: putting an object in S3 with server side encryption

本文关键字:对象 S3 加密 服务器端 c++ SDK AWS      更新时间:2023-10-16

当使用AWS SDK PHP放置对象时,在S3中选择服务器端加密非常容易:

$result = $client->putObject(array(
    'Bucket' => $bucket,
    'Key' => $key,
    'SourceFile' => $source_file,
    'ServerSideEncryption' => 'AES256'
));

使用AWS SDK c++将对象放入S3中看起来类似于:

Aws::S3::Model::PutObjectRequest object_request;
object_request.WithBucket(bucket_name).WithKey(key_name);
auto input_data = Aws::MakeShared<Aws::FStream>(key_name.c_str(), dir_name.c_str(), std::ios_base::in);
object_request.SetBody(input_data);
auto put_object_outcome = s3_client.PutObject(object_request);

但是,如何使用AWS SDK c++选择服务器端加密?

好了,我找到了解决方案:

object_request.WithServerSideEncryption(Aws::S3::Model::ServerSideEncryption::AES256);

似乎您正在使用sdk的v1,所以您可以使用WithServerSideEncryptionMethod

来实现这一点
object_request.WithServerSideEncryptionMethod(ServerSideEncryptionMethod.AES256);