2016-07-04 62 views
2

我正在研究aws。我得到「無法創建枚舉」+ regionName +「value!」。我知道我們可以更改爲最新的SDK jar文件,但我希望不更改jar文件來糾正此問題。我在Regions.fromName(String regionName)方法面臨這個問題。這裏是我的代碼:aws「無法從」+ regionName +「value!」創建枚舉

for(com.amazonaws.services.ec2.model.Region region : describeRegionsResult.getRegions()){ 
     String regionName = region.getRegionName(); 
     Regions regionsValue = fromNames(regionName); 
     Region regionToDiscover = Region.getRegion(regionsValue); 
    } 

是否有辦法describeRegionsResult.getRegions()轉換爲com.amazonaws.regions.Regions

回答

5

了Java SDK的最新版本,因爲這答案(13年1月11日)的支持以下地區:

Enum     Name 
Regions.GovCloud  us-gov-west-1 
Regions.US_EAST_1  us-east-1 
Regions.US_WEST_1  us-west-1 
Regions.US_WEST_2  us-west-2 
Regions.EU_WEST_1  eu-west-1 
Regions.EU_CENTRAL_1 eu-central-1 
Regions.AP_SOUTH_1  ap-south-1 
Regions.AP_SOUTHEAST_1 ap-southeast-1 
Regions.AP_SOUTHEAST_2 ap-southeast-2 
Regions.AP_NORTHEAST_1 ap-northeast-1 
Regions.AP_NORTHEAST_2 ap-northeast-2 
Regions.SA_EAST_1  sa-east-1 
Regions.CN_NORTH_1  cn-north-1 

你可以看到當每個區域加入到SDK這裏:https://github.com/aws/aws-sdk-java/blame/master/aws-java-sdk-core/src/main/java/com/amazonaws/regions/Regions.java

如果您嘗試使用Regions.fromName這些名稱中的一個,但您的SDK版本尚未提供此類名稱,則無法使用獲得該地區的枚舉。您必須升級SDK或將該區域保留爲字符串。

+0

us-east-2失蹤併爲我崩潰 –

0

爲Android增添最新的依賴......解決了我......

compile 'com.amazonaws:aws-android-sdk-core:2.3.3' 
compile 'com.amazonaws:aws-android-sdk-sns:2.3.3' 
3

不知道它仍然培訓相關,但我的問題是,我寫的區域爲:

US_EAST_1

而是要寫出正確的做法是:

美國東1

0

您可以嘗試更新強制更新快照/釋放的Maven項目,如選中。

步驟這樣做:

  1. 右鍵單擊從項目資源管理器窗口中的Java項目。
  2. 轉到Maven。去更新項目。 (對於Eclipse用戶,您可以通過按Alt + F5的組合鍵直接進入更新項目)。
  3. 帶有標題Update aven Project的窗口將出現,請確保您的項目在那裏列出並被檢查。
  4. 點擊「強制更新快照/發佈」複選框。
  5. 單擊確定按鈕。
  6. 嘗試重新運行您的代碼並查看。