public async Task <List <List <InfluxPoint> > > RunQueryAsync(string query, Schema schema, string database = null) { if (database == null) { database = this.Options.DefaultDatabase; } if (database == null) { throw new ArgumentNullException("database", "Database is null and default is not set in options"); } var request = new influxApiRequest(this.Options); var result = await request.Execute <string>("GET", String.Format("db/{0}/series", database), null, String.Format("&q={0}", query)); var seriesAll = JsonSerializer.DeserializeFromString <apiSeries[]>(result); var toRet = new List <List <InfluxPoint> >(); foreach (var series in seriesAll) { var thisSeries = new List <InfluxPoint>(); foreach (var row in series.Points) { var newPoint = new InfluxPoint { Time = schema.Parse <DateTime>((string)row[0]) }; for (int i = 2; i < row.Count; i++) { if (row[i] != null) { newPoint.Values.Add(series.Columns[i], schema.Parse(series.Columns[i], (string)row[i])); } } thisSeries.Add(newPoint); } toRet.Add(thisSeries); } return(toRet); }
public async Task WritePointAsync(string seriesName, InfluxPoint point, string database = null) { await this.WriteTimeSeries(seriesName, new[] { point }, database); }