2012-07-30 170 views
1

嘗試確定如何通過Powershell傳遞代理身份驗證憑據。我使用下面的代碼,它適用於非代理連接:通過代理服務器連接到Amazon S3

$AmazonS3 = [Amazon.AWSClientFactory]::CreateAmazonS3Client($S3AccessKeyID, $S3SecretKeyID) 
$S3PutRequest = New-Object Amazon.S3.Model.PutObjectRequest 
$S3PutRequest.BucketName = $S3BucketName 
$S3PutRequest.Key = $S3ObjectKey 
$S3Response = $AmazonS3.PutObject($S3PutRequest) 

亞馬遜AWS SDK文檔中提到使用使用此方法CreateAmazonS3Client對象:CreateAmazonS3Client(字符串,字符串,AmazonS3Config)。 AmazonS3Config看起來是一個包含代理設置信息的XML文件,但我還沒有發現它的正確語法或文件應該放在哪裏。

我將不勝感激任何建議或如何正確配置此身份驗證到代理實例。

回答

2

我不認爲它是一個XML對象,只是一個新的S3Config對象。

創建一個配置對象:

$config = New-Object Amazon.S3.AmazonS3Config 
$config.ProxyHost = "whatever" 

下面是關於在配置什麼,包括一些文檔: http://docs.amazonwebservices.com/sdkfornet/latest/apidocs/html/T_Amazon_S3_AmazonS3Config.htm

然後,創建連接時使用的配置。

$AmazonS3 = [Amazon.AWSClientFactory]::CreateAmazonS3Client($S3AccessKeyID, $S3SecretKeyID, $config) 
$S3PutRequest = New-Object Amazon.S3.Model.PutObjectRequest 
$S3PutRequest.BucketName = $S3BucketName 
$S3PutRequest.Key = $S3ObjectKey 
$S3Response = $AmazonS3.PutObject($S3PutRequest) 
+0

謝謝!就是這樣! – 2012-08-14 19:12:14