使用AWS SDK创建客户端的异常

时间:2014-01-21 23:38:41

标签: powershell amazon-web-services amazon-s3

我目前在Windows 7 PowerShell窗口中使用以下命令序列。

Add-Type -Path "C:\Program Files (x86)\AWS SDK for .NET\bin\Net35\AWSSDK.dll"

$secretKeyID="ABCDEFGHIJKLMNOPQRS"
$secretAccessKeyID="LONGKEYBLAHBLAHBLAHBLAHBLABLAH"

$AWSclient=[Amazon.AWSClientFactory]::CreateAmazonS3Client($secretKeyID,$secretAccessKeyID)

但是,我在下面得到了这个例外。请让我知道我做错了什么。这就是我看到大多数人成功使用的内容。

Exception calling "CreateAmazonS3Client" with "2" argument(s): "No RegionEndpoint or ServiceURL configured"
At line:1 char:1
+ $oAWSclient=[Amazon.AWSClientFactory]::CreateAmazonS3Client($secretKeyID,$secret ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : AmazonClientException

我认为有一个问题是我的存储桶没有检查“启用网站托管”。这需要设置为true吗?我只是想通过powershell脚本将文件上传到bucked。

2 个答案:

答案 0 :(得分:2)

Duh ......我意识到我需要使用AWS Powershell,因为它内置了所有设置。我不确定如何正确引用此版本的powershell,但在安装AWS SDK后可以使用它。

答案 1 :(得分:0)

由于错误明确指出您缺少RegionEndpoint或ServiceURL,因此您也可以只包含其中一个。由于您要连接到S3,因此您只需要包含RegionEndpoint。

Add-Type -Path "C:\Program Files (x86)\AWS SDK for .NET\bin\Net35\AWSSDK.dll"

$secretKeyID="ABCDEFGHIJKLMNOPQRS"
$secretAccessKeyID="LONGKEYBLAHBLAHBLAHBLAHBLABLAH"

$client = [Amazon.AWSClientFactory]::CreateAmazonS3Client($secretKeyID, $secretAccessKeyID, [Amazon.RegionEndpoint]::USEast1)

(将 USEast1 替换为S3 Bucket配置的值)