使用区域和可用区 - 适用于 Java 的 AWS 开发工具包
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用区域和可用区

描述区域

要列出您账户的可用区域,请调用 AmazonEC2Client 的 describeRegions 方法。它将返回 DescribeRegionsResult。 调用返回对象的 getRegions 方法,获取表示每个区域的 Region 对象的列表。

导入

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeRegionsResult; import com.amazonaws.services.ec2.model.Region; import com.amazonaws.services.ec2.model.AvailabilityZone; import com.amazonaws.services.ec2.model.DescribeAvailabilityZonesResult;

代码

DescribeRegionsResult regions_response = ec2.describeRegions(); for(Region region : regions_response.getRegions()) { System.out.printf( "Found region %s " + "with endpoint %s", region.getRegionName(), region.getEndpoint()); }

请参阅完整示例

描述可用区

要列出您账户的每个可用区,请调用 AmazonEC2Client 的 describeAvailabilityZones 方法。它返回 DescribeAvailabilityZonesResult。 调用其 getAvailabilityZones 方法可获取表示每个可用区的 AvailabilityZone 对象的列表。

导入

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeRegionsResult; import com.amazonaws.services.ec2.model.Region; import com.amazonaws.services.ec2.model.AvailabilityZone; import com.amazonaws.services.ec2.model.DescribeAvailabilityZonesResult;

代码

DescribeAvailabilityZonesResult zones_response = ec2.describeAvailabilityZones(); for(AvailabilityZone zone : zones_response.getAvailabilityZones()) { System.out.printf( "Found availability zone %s " + "with status %s " + "in region %s", zone.getZoneName(), zone.getState(), zone.getRegionName()); }

请参阅完整示例

描述账户

要描述您的帐户,请调用 AmazonEC2Client 的 describeAccountAttributes 方法。此方法返回 DescribeAccountAttributesResult 对象。调用此对象 getAccountAttributes 方法以获取 AccountAttribute 对象的列表。您可以遍历该列表以检索 AccountAttribute 对象。

您可以通过调用 AccountAttribute 对象的 getAttributeValues 方法来获取您的账户的属性值。此方法返回 AccountAttributeValue 对象的列表。您可以遍历第二个列表来显示属性的值(请参阅以下代码示例)。

导入

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.AccountAttributeValue; import com.amazonaws.services.ec2.model.DescribeAccountAttributesResult; import com.amazonaws.services.ec2.model.AccountAttribute; import java.util.List; import java.util.ListIterator;

代码

AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); try{ DescribeAccountAttributesResult accountResults = ec2.describeAccountAttributes(); List<AccountAttribute> accountList = accountResults.getAccountAttributes(); for (ListIterator iter = accountList.listIterator(); iter.hasNext(); ) { AccountAttribute attribute = (AccountAttribute) iter.next(); System.out.print("\n The name of the attribute is "+attribute.getAttributeName()); List<AccountAttributeValue> values = attribute.getAttributeValues(); //iterate through the attribute values for (ListIterator iterVals = values.listIterator(); iterVals.hasNext(); ) { AccountAttributeValue myValue = (AccountAttributeValue) iterVals.next(); System.out.print("\n The value of the attribute is "+myValue.getAttributeValue()); } } System.out.print("Done"); } catch (Exception e) { e.getStackTrace(); }

请参阅 上的完整示例GitHub。

更多信息