如何获取Amazon EC2上的可用实例类型列表?

时间:2016-12-06 10:32:57

标签: amazon-ec2

是否有API来获取EC2上的可用实例类型列表?

我可以看到有一个价格表JSON文件,你可以下载,但它是70兆字节,在应用程序中包含作为请求是不切实际的。

2 个答案:

答案 0 :(得分:1)

此信息作为EC2 API的一部分提供。 API定义了各种资源形状,可以通过特定于语言的SDK公开。例如,Python库botocore(也为AWS CLI提供支持)通过EC2服务模型公开实例类型:

import botocore.session

sess = botocore.session.Session()
available_types = sess.get_service_model('ec2').shape_for('InstanceType').enum

如果您正在使用Python中的EC2,那么很有可能您正在使用更高级别的boto3库。 boto3 EC2客户端已经具有对底层botocore服务模式的引用,因此您可以这样做:

client = boto3.client('ec2')
client._service_model.shape_for('InstanceType').enum

其他语言的SDK也应该公开InstanceType资源形状。由于这直接来自API并且往往会自动推送到SDK repos,因此只要您使用相同的API版本(比较botocore中的JSON API定义和{{},数据就应该是通用的。例如,3}}。

答案 1 :(得分:0)

没有API可以检索Amazon EC2实例类型列表。

您可以使用某些第三方网站: