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
誰が私が間違っているのか教えてもらえますか? よろしくお願いします。