我試圖運行查詢來檢查所有Amazon EC2實例。使用亞馬遜AWS sdk - 您無權執行此操作
我使用的演示應用程序模板,它運行良好,我的憑據,但我不太明白它如何使用aws密鑰和密鑰。
在我的app.config(控制檯演示應用程序):
<!-- Amazon AWS API keys. -->
<add key="AWSAccessKey" value="ASDASDASDASD"/>
<add key="AWSSecretKey" value="asdasdf/qwerqwerqwerqwerqwer"/>
<add key="AWSRegion" value="us-east-1" />
它運行良好,並列出我的情況:
// Print the number of Amazon EC2 instances.
IAmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client();
DescribeInstancesRequest ec2Request = new DescribeInstancesRequest();
DescribeInstancesResponse ec2Response = ec2.DescribeInstances(ec2Request);
var numInstances = ec2Response.Reservations.Count;
注意如何它不是真正訪問的App.config值這是我混亂的根源。
在實打實的應用
現在,我MVC3應用。我想同樣的事情,但我得到這個錯誤:
You are not authorized to perform this operation.
在我web.config
:
<appSettings>
<!-- Amazon AWS API keys. -->
<add key="AWSAccessKey" value="asdfasdfasdfasdf"/>
<add key="AWSSecretKey" value="adsfasdfadf/asdfasdfasdfasdf"/>
<add key="AWSRegion" value="us-east-1" />
缺少什麼我在這裏?
如果您創建AWS客戶端時未顯式提供憑據(即使用無參數構造函數),則SDK將在各個位置查找憑據,其中包括App.config或Web.config的appSettings部分。目前還不清楚爲什麼他們沒有從你的Web.config中獲取這種情況。你提供的東西似乎是正確的。 –
我是這樣一個混帳 - 我不知道如何/爲什麼,但由'ConfigurationManager'調用的實際字符串值不正確。我花了3個小時才注意到使用調試器。一些摩卡的時間! – sergserg