有人能解释一下如何在 PowerShell 脚本中启用 Amazon S3 服务器端加密吗?我正在使用下面的示例代码,但是当我在 AWS 控制台或 Cloudberry S3 Explorer Pro 中检查加密时,加密类型仍设置为“无”。在文件上传后使用 AWS / Cloudberry 手动执行此操作是不可行的,因为该脚本将部署到 200 多台服务器,每台服务器在 S3 中都有自己的存储桶。这是脚本中的一段代码:
$TestFile="testfile.7z"
$S3ObjectKey = "mytestfile.7z"
#Create Amazon PutObjectRequest.
$AmazonS3 = [Amazon.AWSClientFactory]::CreateAmazonS3Client($S3AccessKeyID,$S3SecretKeyID)
$S3PutRequest = New-Object Amazon.S3.Model.PutObjectRequest
$S3PutRequest.BucketName = $S3BucketName
$S3PutRequest.Key = $S3ObjectKey
$S3PutRequest.FilePath = $TestFile
$S3Response = $AmazonS3.PutObject($S3PutRequest)
我尝试插入以下内容但没有成功(在 $S3Response 行之前):
$S3PutRequest.ServerSideEncryption
添加上述内容后,我在输出中收到此消息,但该文件仍未在 S3 上标记为加密:
MemberType : Method
OverloadDefinitions : {Amazon.S3.Model.PutObjectRequest WithServerSideEncryptionMethod(Amazon.S3.Model.ServerSideEncryptionMethod encryption)}
TypeNameOfValue : System.Management.Automation.PSMethod
Value : Amazon.S3.Model.PutObjectRequest WithServerSideEncryptionMethod(Amazon.S3.Model.ServerSideEncryptionMethod encryption)
Name : WithServerSideEncryptionMethod
IsInstance : True
谁能告诉我我做错了什么?提前谢谢了。