通过代理服务器连接到Amazon S3
问题描述:
尝试确定如何通过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文件,但我还没有发现它的正确语法或文件应该放在哪里。
我将不胜感激任何建议或如何正确配置此身份验证到代理实例。
答
我不认为它是一个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)
谢谢!就是这样! – 2012-08-14 19:12:14