boto3定价为同一类型的实例返回多个值

2024-05-28 19:12:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试以下代码来获取我所在地区实例的价格:

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美元。在


Tags: 实例infieldvaluesessiontypematch价格
1条回答
网友
1楼 · 发布于 2024-05-28 19:12:39

我找不到关于这些值的任何文档,但我的猜测是:

  • Used:按需使用实例的成本
  • UnusedCapacityReservation:保留实例不被使用时的成本(您仍要为此付费)
  • AllocatedCapacityReservation:实例作为保留实例使用时的成本(已经付费,因此没有成本)

这些只是我的猜测。在

相关问题 更多 >

    热门问题