aws"无法从"+ regionName +"value创建枚举!"

San*_*mar 5 java amazon-web-services

我正在研究aws.我收到"无法创建枚举"+ regionName +"value!".我知道我们可以更改为最新的SDK jar文件,但我想要更改jar文件以解决此问题.我在Regions.fromName(String regionName)方法上面对这个问题.这是我的代码:

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

有没有办法转换describeRegionsResult.getRegions()com.amazonaws.regions.Regions.

ata*_*lor 10

从本答案(1.11.13)开始,最新版本的Java SDK支持以下区域:

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
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看每个区域何时添加到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或将区域保留为String.


小智 7

不知道它是否仍然相关,但我的问题是我将该区域写为:

US_EAST_1

但正确的写法是:

美国东部1