/// <summary> /// Drops a InfluxMeasurement for a given retention policy /// </summary> /// <param name="im">An instance of IInfluxMeasurement</param> /// <param name="rp">An instance of IInfluxRetentionPolicy, optional</param> /// <returns>True: Success</returns> public async Task <bool> DropMeasurementAsync(IInfluxDatabase db, IInfluxMeasurement im, IInfluxRetentionPolicy rp = null) { var query = (im as InfluxMeasurement).GetDropSyntax(); if (query != null) { var endPoint = new Dictionary <string, string>() { { "db", db.Name }, { "q", query } }; if (rp != null) { endPoint.Add("rp", rp.Name); } var response = await GetAsync(endPoint); if (response.StatusCode == HttpStatusCode.OK) { var content = await response.Content.ReadAsStringAsync(); if (content.Contains("error")) { throw new InfluxDBException("Drop Failed", new Regex(@"\""error\"":\""(.*?)\""").Match(content).Groups[1].Value); } (im as InfluxMeasurement).Deleted = true; return(true); } } return(false); }
/// <summary> /// Drops a Continuous InfluxDatabase /// </summary> /// <param name="db">An instance of InfluxDatabase</param> /// <returns>True: Success</returns> public async Task <bool> DropDatabaseAsync(IInfluxDatabase db) { var query = (db as InfluxDatabase).GetDropSyntax(); if (query != null) { var response = await GetAsync(new Dictionary <string, string>() { { "q", query } }); if (response.StatusCode == HttpStatusCode.OK) { (db as InfluxDatabase).Deleted = true; return(true); } } return(false); }
public NetworkService(IOptionsSnapshot <ManagementOptions> options, IInfluxDatabase influxDatabase) { _managementOptions = options.Value; _influxDatabase = influxDatabase; }
public InfluxDBTest() { _influxDatabase = GetRequiredService <IInfluxDatabase>(); }