1

试图确定如何通过 Powershell 传递代理身份验证凭据。我正在使用以下代码,它适用于非代理连接:

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

Amazon AWS SDK 文档提到使用 CreateAmazonS3Client 对象使用此方法:CreateAmazonS3Client(String, String, AmazonS3Config)。AmazonS3Config 似乎是一个 XML 文件,其中包含包含代理设置的信息,但我没有发现它的正确语法或文件的位置。

我将不胜感激有关如何正确配置此功能以向代理进行身份验证的任何建议或示例。

4

2 回答 2

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)
于 2012-07-30T18:08:13.563 回答
0

对于 Nodejs AWS SDK,您可以考虑与上述类似的解决方案,并且在此处的AWS 文档 中也有提及。

Node.js 的代码

npm install proxy-agent --save

AWS SDK 配置对象中的实现

const proxy = require('proxy-agent');

AWS.config.update({
  httpOptions: { agent: proxy('http://internal.proxy.com') }
});
于 2019-01-17T13:12:55.337 回答