2014-01-21 69 views
3

我目前在Windows 7 PowerShell窗口中使用以下命令序列。使用AWS SDK創建客戶端的異常

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

Duh ...我意識到我需要使用AWS Powershell,因爲它具有內置的所有設置。我不完全確定如何正確引用此版本的PowerShell,但它在安裝AWS SDK後可用。

+0

這就是所謂的 '的Windows PowerShell的AWS'。您可以通過查看快捷方式屬性來查看差異:在目標字段中,它指定加載[AWS Powershell模塊](http://aws.amazon.com/powershell/),並且'Initialize-AWSDefaults'運行cmdlet。運行'Initialize-AWSDefaults'可以讓你使用'CreateAmazonS3Client'的特定重載,而不必指定你自己的客戶端配置。 –

+0

是的......我也注意到了。我認爲這是一個單獨的exe文件,但後來的快捷方式顯示它是一些選項的標準powershell。 – salazar44

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存儲配置的值)

相關問題