Amazon web services 查询从AWS定价API启动实例的成本

Amazon web services 查询从AWS定价API启动实例的成本,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我正在使用AWS定价API: 问题是,它有类似这样的数据 "KV46EU5KJGKB53ZX" : { "sku" : "KV46EU5KJGKB53ZX", "productFamily" : "Compute Instance", "attributes" : { "servicecode" : "AmazonEC2", "location" : "US East (N. Virginia)", "locationType" : "AWS Region"

我正在使用AWS定价API:

问题是,它有类似这样的数据

"KV46EU5KJGKB53ZX" : {
  "sku" : "KV46EU5KJGKB53ZX",
  "productFamily" : "Compute Instance",
  "attributes" : {
    "servicecode" : "AmazonEC2",
    "location" : "US East (N. Virginia)",
    "locationType" : "AWS Region",
我不知道如何将
locationType
location
与我用于启动EC2实例的数据关联起来(例如在
us-east-1
中)


有没有办法知道启动EC2实例的成本?

我建议使用大型json文档。对于sku KV46EU5KJGKB53ZX的OnDemand定价,例如:

curl -s https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json \
 | jq .terms.OnDemand.KV46EU5KJGKB53ZX
给予


我不知道价目表API提供的结构中是否存在这种交叉引用/映射数据,不幸的是,EC2 API中也没有提供这种数据


但是,它可以在一般文档下的页面上随时获得。根据这些信息,您可以构建一个简单的字典或查找表。

我自己构建的。我知道它不会被更新,但是

注意:我从AWS定价用户界面中提取的列表中缺少中国

{
“AWS GovCloud(美国东部)”:“US-gov-East-1”,
“AWS GovCloud(美国西部)”:“US-gov-West-1”,
“非洲(开普敦)”:“af-south-1”,
“亚太地区(香港)”:“亚太地区1号”,
“亚太(孟买)”:“ap-south-1”,
“亚太地区(大阪本地)”:“ap-northeast-3”,
“亚太(首尔)”:“亚太东北-2”,
“亚太地区(新加坡)”:“ap-东南亚-1”,
“亚太(悉尼)”:“亚太东南-2”,
“亚太(东京)”:“亚太东北-1”,
“加拿大(中部)”:“ca-Central-1”,
“欧盟(法兰克福)”:“欧盟中央1号”,
“欧盟(爱尔兰)”:“欧盟-西部-1”,
“欧盟(伦敦)”:“欧盟-西部-2”,
“欧盟(米兰)”:“欧盟-南方-1”,
“欧盟(巴黎)”:“欧盟-西方-3”,
“欧盟(斯德哥尔摩)”:“欧盟-北-1”,
“中东(巴林)”:“me-south-1”,
“南美洲(圣保罗)”:“sa-east-1”,
“美国东部(波士顿)”:“美国东部-1-bos-1”,
“美国东部(休斯顿)”:“美国东部-1-iah-1”,
“美国东部(迈阿密)”:“美国东部-1-mia-1”,
“美国东部(北弗吉尼亚州)”:“美国东部-1”,
“美国东部(俄亥俄州)”:“美国东部-2”,
“美国东部(Verizon)-亚特兰大”:“美国东部-1-wl1-atl1”,
“美国东部(Verizon)-波士顿”:“美国东部-1-wl1”,
“美国东部(Verizon)-达拉斯”:“美国东部-1-wl1-dfw1”,
“美国东部(Verizon)-迈阿密”:“美国东部-1-wl1-mia1”,
“美国东部(Verizon)-纽约”:“美国东部-1-wl1-nyc1”,
“美国东部(Verizon)-华盛顿特区”:“US-East-1-wl1-was1”,
“美国西部(洛杉矶)”:“美国西部2-lax-1”,
“美国西部(北加利福尼亚)”:“美国西部-1”,
“美国西部(俄勒冈州)”:“美国西部2号”,
“美国西部(Verizon)-拉斯维加斯”:“美国西部-2-wl1-las1”,
“美国西部(Verizon)-旧金山湾地区”:“美国西部- 2-WL1”,
}

我认为问题在于如何从
美国东部(北弗吉尼亚州)
推导出
美国东部-1
“有办法知道启动EC2实例的成本吗?”。他只是在json里找错了地方。你可能是对的。我专注于“我不知道如何关联
locationType
location
”。区域和端点与名称不完全匹配。例如,你找不到“美国西部(洛杉矶)”洛杉矶是一个例外,因为它不是一个地区,而是一个连接到美国西部2地区的地区。
{
  "KV46EU5KJGKB53ZX.JRTCKXETXF": {
    "offerTermCode": "JRTCKXETXF",
    "sku": "KV46EU5KJGKB53ZX",
    "effectiveDate": "2016-12-01T00:00:00Z",
    "priceDimensions": {
      "KV46EU5KJGKB53ZX.JRTCKXETXF.6YS6EN2CT7": {
        "rateCode": "KV46EU5KJGKB53ZX.JRTCKXETXF.6YS6EN2CT7",
        "description": "$0.156 per Dedicated RHEL m1.medium Instance Hour",
        "beginRange": "0",
        "endRange": "Inf",
        "unit": "Hrs",
        "pricePerUnit": {
          "USD": "0.1560000000"
        },
        "appliesTo": []
      }
    },
    "termAttributes": {}
  }
}