使用区域和可用区 - Amazon SDK for Java 1.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们宣布了即将推出 end-of-support 的 Amazon SDK for Java (v1)。建议您迁移到 Amazon SDK for Java v2。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

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

使用区域和可用区

描述区域

要列出账户可用的区域,请调用 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 上的完整示例

更多信息