public async Task TestCreateContinuousQueryAsync_MissingGroupBy() { var client = new InfluxDBClient(influxUrl, dbUName, dbpwd); var query = $"select mean(Doublefield) as Doublefield into cqMeasurement from {measurementName} group by *"; var p = new InfluxContinuousQuery() { Name = "TestCQ2", DBName = dbName, Query = query }; var r = await AssertEx.ThrowsAsync <InfluxDBException>(() => client.CreateContinuousQueryAsync(p)); }
public async Task TestCreateContinuousQueryAsync_WithResample() { var client = new InfluxDBClient(influxUrl, dbUName, dbpwd); var query = $"select mean(Intfield) as Intfield into cqMeasurement from {measurementName} group by time(1h),*"; var p = new InfluxContinuousQuery() { Name = "TestCQ1", DBName = dbName, Query = query, ResampleDuration = TimeSpan.FromHours(2), ResampleFrequency = TimeSpan.FromHours(0.5) }; var r = await client.CreateContinuousQueryAsync(p); Assert.IsTrue(p.Saved, "CreateContinuousQueryAsync failed"); }
public async Task TestCreateContinuousQueryAsync() { var client = new InfluxDBClient(influxUrl, dbUName, dbpwd); var query = $"select mean(Doublefield) as Doublefield into cqMeasurement from {measurementName} group by time(1h),*"; var p = new InfluxContinuousQuery() { Name = "TestCQ", DBName = dbName, Query = query }; var r = await client.CreateContinuousQueryAsync(p); Assert.IsTrue(r && p.Saved, "CreateContinuousQueryAsync failed"); }
public bool EnsureContinuousQuery(string databaseName, InfluxDbContinuousQueryDefinition definition) { var cqs = _influxDbClient.GetContinuousQueriesAsync() .Result .FirstOrDefault(x => x.Name.Equals(definition.Name, StringComparison.InvariantCulture)); if (cqs != null) { if (cqs.Query.Equals(definition.Query, StringComparison.InvariantCulture) && cqs.DBName.Equals(databaseName, StringComparison.InvariantCulture) && cqs.ResampleDuration.Equals(definition.ResampleDuration) && cqs.ResampleFrequency.Equals(definition.ResampleFrequency)) { _logger.Debug("Continuous query {0} already exists. Nothing to do.", definition.Name); return(false); } else { _logger.Info("Continuous query {0} already exists, but with different configuration. Current CQ will be deleted and new created.", definition.Name); _influxDbClient.DropContinuousQueryAsync(cqs); } } else { _logger.Info("Continuous query {0} does not exists. CQ will be created.", definition.Name); } var p = new InfluxContinuousQuery() { Name = definition.Name, DBName = databaseName, Query = definition.Query, ResampleDuration = definition.ResampleDuration, ResampleFrequency = definition.ResampleFrequency }; return(_influxDbClient.CreateContinuousQueryAsync(p).Result); }