2012-07-30 131 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