有人可以告诉我如何以编程方式从Azure网站获取Azure服务定价详细信息(计算,数据服务,应用服务,网络服务的定价)?
Azure是否以JSON格式提供定价详细信息?
答案 0 :(得分:2)
Windows Azure确实没有提供今天的任何此类API,尽管这是一个备受关注的功能,希望他们正在努力。
现在唯一的方法是使用此处提到的详细信息构建您自己的数据存储:http://azure.microsoft.com/en-us/pricing/calculator/
使用数据csv中会提到单位价格,但不幸的是,现在唯一的方法是在此处下载此csv用于您的订阅:https://account.windowsazure.com/Subscriptions
答案 1 :(得分:1)
Azure现在提供API来获取使用情况和结算数据。您可以查看this blog,其中概述了这些API和the feedback form here,其中包含指向某些有用页面的链接。
总之,使用以下API来获取使用情况和结算数据:
答案 2 :(得分:1)
聚会迟到了,但我发现自己正在寻找这个,但这里没有任何东西可以满足我的需求。然后我发现了这个https://docs.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices
这很简单。将 Json.NET .NET 4.0 的引用添加到您的项目中 它在您的引用中显示为 Newtonsoft.Json
//You will need to add these usings
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
private void btnGetRates_Click(object sender, EventArgs e)
{
string strUrl = "https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and skuName eq 'E64 v4' and reservationTerm eq '3 Years'";
string response = GetDataFromAPI(strUrl);
// Here is am turning the Json response into a datatable and then loading that into a DataGridView.
//You can use the Json response any way you wish
DataTable dt = Tabulate(response);
dgvAzureSKU.DataSource = null;
dgvAzureSKU.DataSource = dt;
}
public string GetDataFromAPI(string url)
{
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
var response = httpClient.GetStringAsync(new Uri(url)).Result;
return response;
}
}
public static DataTable Tabulate(string json)
{
var jsonLinq = JObject.Parse(json);
// Find the first array using Linq
var srcArray = jsonLinq.Descendants().Where(d => d is JArray).First();
var trgArray = new JArray();
foreach (JObject row in srcArray.Children<JObject>())
{
var cleanRow = new JObject();
foreach (JProperty column in row.Properties())
{
if (column.Value is JValue) // Only include JValue types
{
cleanRow.Add(column.Name, column.Value);
}
}
trgArray.Add(cleanRow);
}
return JsonConvert.DeserializeObject<DataTable>(trgArray.ToString()); //This is what loads the data into the table
}
答案 3 :(得分:0)
您可以在此处找到一些示例https://docs.microsoft.com/en-us/azure/billing/billing-usage-rate-card-overview。 Azure提供发票,使用和价目表API,可以帮助您执行以下操作:
答案 4 :(得分:0)
不确定,如果我来不及回答。
我一直在寻找相同的东西,偶然发现这篇关于堆栈溢出的帖子:Azure pricing calculator api。我能够使用这个git hub repo:https://github.com/Azure-Samples/billing-dotnet-ratecard-api生成JSON字符串。
希望这有帮助!