public TableMetricData GetMetricStorageData(string jsonMetricDefinition,string MetricName) { TableMetricData myData = null; try { var jsonData = Newtonsoft.Json.Linq.JObject.Parse(jsonMetricDefinition); foreach (var allList in jsonData) { var list = allList.Value; foreach (var xxx in list) { if (xxx["name"]["value"].ToString() == MetricName) { myData = new TableMetricData(); foreach (var metricAvailabilities in xxx["metricAvailabilities"]) { myData.tableEndpoint=metricAvailabilities["location"]["tableEndpoint"].ToString(); foreach (var tableInfo in metricAvailabilities["location"]["tableInfo"]) { myData.TableName = tableInfo["tableName"].ToString(); myData.sasToken=tableInfo["sasToken"].ToString(); } myData.partitionKey = metricAvailabilities["location"]["partitionKey"].ToString(); } break; } } } } catch (Exception Err) { Console.WriteLine(Err.Message); } return myData; }
public async Task<string> ReadMetricValues(TableMetricData queryData) { string values = null; //3. Table Data try { string readMetric = string.Format( "{3}{0}{1}&api-version=2014-02-14&$filter=(PartitionKey eq '{2}')", queryData.TableName, queryData.sasToken, queryData.partitionKey, queryData.tableEndpoint ); var client = new HttpClient(); //json header client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var metricValues = await client.GetStringAsync(readMetric); values = metricValues.ToString(); } catch (Exception X) { Console.WriteLine(X.Message); } return values; }