1

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

誰が私が間違っているのか教えてもらえますか? よろしくお願いします。

4

2 に答える 2

1

次を追加する必要があります。

$S3PutRequest.WithServerSideEncryptionMethod([Amazon.S3.Model.ServerSideEncryptionMethod]::AES256)

または:

$S3PutRequest.ServerSideEncryptionMethod = [Amazon.S3.Model.ServerSideEncryptionMethod]::AES256
于 2012-05-24T06:43:43.570 に答える
0

CloudBerry を使用している場合は、独自の PowerShell スナップインがあります

Add-PSSnapin CloudBerryLab.Explorer.PSSnapin

$s3 = Get-CloudS3Connection -Key XXXXXXX -Secret YYYYYYY
$destFolder = $s3 | Select-CloudFolder -path "mybucket"
$local = Get-CloudFilesystemConnection
$srcFolder = $local | Select-CloudFolder -path "c:\myzips"
$srcFolder | Copy-CloudItem $destFolder -filter "testfile.7z" -SSE

Copy-CloudItemコマンドの-SSEパラメータに注意してください。いくつかの役立つ例は、彼らのブログで見つけることができます: http://blog.cloudberrylab.com/search?q=powershell

于 2012-05-24T12:00:56.720 に答える