我正在尝试以下代码来获取我所在地区实例的价格:
import boto3
import json
my_session = boto3.session.Session()
region = boto3.session.Session().region_name
print "region : ",region
pricing_client = boto3.client("pricing")
pricingValues = pricing_client.get_products(ServiceCode='AmazonEC2',Filters=[{'Type': 'TERM_MATCH','Field': 'instanceType','Value': 'm4.large'},{'Type': 'TERM_MATCH','Field': 'location','Value': 'Asia Pacific (Mumbai)'},{'Type': 'TERM_MATCH','Field': 'operatingSystem','Value': 'Linux'},{'Type': 'TERM_MATCH','Field': 'preInstalledSw','Value': 'NA'},{'Type': 'TERM_MATCH','Field': 'tenancy','Value': 'Dedicated'}])
for priceVal in pricingValues["PriceList"]:
priceValInJson=json.loads(priceVal)
if("OnDemand" in priceValInJson["terms"] and len(priceValInJson["terms"]["OnDemand"]) > 0):
for onDemandValues in priceValInJson["terms"]["OnDemand"].keys():
for priceDimensionValues in priceValInJson["terms"]["OnDemand"][onDemandValues]["priceDimensions"]:
print "USDValue : ",priceValInJson["terms"]["OnDemand"][onDemandValues]["priceDimensions"][priceDimensionValues]["pricePerUnit"]," : ", priceValInJson["product"]["attributes"]["capacitystatus"]," : ", priceValInJson["product"]["attributes"]["usagetype"]
上述代码的输出为:
^{pr2}$我想做什么
我正在尝试获取实例类型的价格值,这样我就可以使用boto3实例组出价一半的价格。在
我的观察
除SKU和输出中显示的参数外,所有参数都匹配。 其中一个有一个保留字段,我猜是为已保留的实例。在
^{3}$我的困惑是什么
我总是得到3个值价格。这个不管我选择什么样的实例类型,都是真的。我想知道这些是什么,为什么报告的价格是0.0美元。在
我找不到关于这些值的任何文档,但我的猜测是:
Used
:按需使用实例的成本UnusedCapacityReservation
:保留实例不被使用时的成本(您仍要为此付费)AllocatedCapacityReservation
:实例作为保留实例使用时的成本(已经付费,因此没有成本)这些只是我的猜测。在
相关问题 更多 >
编程相关推荐