我正在使用 c# 测试向/从 InfluxDB v2 写入/查询时间序列数据。基本上,我几乎使用了 Data->“Load Data”->“Client Libraries”->C# 下 WebInterface 中提供的示例。
我可以写入数据库没有问题,但是当我尝试查询数据时,出现异常
'已添加具有相同键的项目。关键:结果'。
导致问题的电话是
public async Task<List<InfluxDB.Client.Core.Flux.Domain.FluxTable>> QueryDB()
{
string bucket = "ABucket";
var query = $"from(bucket:\"{bucket}\") |> range(start: -1m)";
var tables = await client.GetQueryApi().QueryAsync(query, "MyOrganisation");
// client is an instance of InfluxDBClient
return tables;
}
当它从上面的 QueryAsync 调用返回时,它会崩溃。
我已经阅读了其他帖子 1和帖子 2有类似的问题,但是在浏览了这些并检查了我的代码之后,我没有看到任何同名的东西。我什至更改了一堆名称以确保没有重复。但问题并没有消失。
如果我删除了没有问题的异步调用,但是如果我这样做了,我将无法查询数据库。
有没有人用过InfluxDB提供的c#例子并成功了?
如果有任何帮助,这里是堆栈跟踪。
at InfluxDB.Client.Core.Internal.AbstractQueryClient.<>c.<.cctor>b__22_1(Exception e)
at InfluxDB.Client.Core.Internal.AbstractQueryClient.<Query>d__9.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at InfluxDB.Client.QueryApi.<QueryAsync>d__7.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at MainApp.InfluxDBControl.<QueryDB>d__12.MoveNext() in D:\Test\TestProject\TestInfluxDB\InfluxDBControl.cs:line 104
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at MainApp.MainTest.<CatchUpButton_Click>d__20.MoveNext() in D:\Test\TestProject\TestInfluxDB\MainAppForm.cs:line 171