是否有适用于Amazon Web Services PRICING的API?

edl*_*dla 47 api amazon-s3 amazon-ec2 amazon-web-services

是否有任何API在Amazon Web Services上具有最新定价?可以查询的东西,例如,给定区域的最新价格S3,或EC2等.

谢谢

Bla*_*iro 38

更新:

AWS现在有定价API:https://aws.amazon.com/blogs/aws/new-aws-price-list-api/

原始答案:

这是我以前要求的(通过AWS传播者和调查),但尚未提出.我想AWS人员在他们的视野中有更多有趣的创新.

正如@brokenbeatnik指出的那样,有一个现货价格历史的API.API文档:http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSpotPriceHistory.html

我觉得奇怪的是,现货价格历史上有一个官方 API,但他们并没有同时为按需服务做这件事.无论如何,要回答这个问题,是的,您可以查询所宣传的 AWS定价 ......

我能想到的最好的方法是检查各种服务定价页面的(客户端)来源.在那里你会发现这些表是用JS构建的,并且填充了JSON数据,你可以自己获取数据.例如:

这只是战斗的一半,接下来你必须选择对象格式以获得你想要的值,例如,在Python中,它获得了弗吉尼亚的Hi-CPU按需超大Linux实例定价:

>>> import json
>>> import urllib2
>>> response = urllib2.urlopen('http://aws.amazon.com/ec2/pricing/pricing-on-demand-instances.json')
>>> pricejson = response.read()
>>> pricing = json.loads(pricejson)
>>> pricing['config']['regions'][0]['instanceTypes'][3]['sizes'][1]['valueColumns'][0]['prices']['USD']
u'0.68'
Run Code Online (Sandbox Code Playgroud)

免责声明:显然,这不是AWS认可的API,因此我不建议期望数据格式的稳定性或甚至源的持续存在.但它就在那里,它将定价数据转录成静态配置/源文件!

  • 请注意,截至2014年4月,这些网址已弃用,定价信息已过时.他们现在在http://a0.awsstatic.com/pricing/1/ec2/linux-od.min.js和http://a0.awsstatic.com/pricing/1/s3/pricing-storage-s3 .min.js.如果您查看任何定价页面的来源并搜索"json",您将找到相应的链接. (4认同)

Spi*_*ire 14

对于那些想要使用amazon api中使用"t1.micro"之类的数据的人来说,这里是一个翻译数组

type_translation = {
    'm1.small' : ['stdODI', 'sm'],
    'm1.medium' : ['stdODI', 'med'],
    'm1.large' : ['stdODI', 'lg'],
    'm1.xlarge' : ['stdODI', 'xl'],
    't1.micro' : ['uODI', 'u'],
    'm2.xlarge' : ['hiMemODI', 'xl'],
    'm2.2xlarge' : ['hiMemODI', 'xxl'],
    'm2.4xlarge' : ['hiMemODI', 'xxxxl'],
    'c1.medium' : ['hiCPUODI', 'med'],
    'c1.xlarge' : ['hiCPUODI', 'xl'],
    'cc1.4xlarge' : ['clusterComputeI', 'xxxxl'],
    'cc2.8xlarge' : ['clusterComputeI', 'xxxxxxxxl'],
    'cg1.4xlarge' : ['clusterGPUI', 'xxxxl'],
    'hi1.4xlarge' : ['hiIoODI', 'xxxx1']
}
region_translation = {
    'us-east-1' : 'us-east',
    'us-west-2' : 'us-west-2',
    'us-west-1' : 'us-west',
    'eu-west-1' : 'eu-ireland',
    'ap-southeast-1' : 'apac-sin',
    'ap-northeast-1' : 'apac-tokyo',
    'sa-east-1' : 'sa-east-1'
}
Run Code Online (Sandbox Code Playgroud)


小智 8

我在Python中创建了一个快速而脏的API,用于访问这些JSON文件中的定价数据并将其转换为相关值(正确的翻译和正确的实例类型).

您可以在此处获取代码:https://github.com/erans/ec2instancespricing

在这里阅读更多相关内容:http://forecastcloudy.net/2012/04/03/quick-dirty-api-for-accessing-amazon-web-services-aws-ec2-pricing-data/

您可以将此文件用作模块并调用函数以获取带有结果的Python字典,或者您可以将其用作命令行工具以使输出是人类可读的表,JSON或CSV与其他组合使用命令行工具.


小智 1

我不相信有一个 API 可以涵盖标准服务的一般当前价格。但是,特别是对于 EC2,您可以查看现货价格历史记录,这样您就不必猜测现货实例的市场价格是多少。有关此内容的更多信息,请访问:

http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/using-spot-instances-history.html