コード例 #1
0
    public PointData ToPointModel(InfluxDBDataModel model)
    {
        if (!model.Tags.Any())
        {
            throw new InvalidInfluxDBDataModelException("Tags were not given.");
        }
        if (!model.Fields.Any())
        {
            throw new InvalidInfluxDBDataModelException("Fields were not given");
        }
        if (string.IsNullOrEmpty(model.Measurement))
        {
            throw new InvalidInfluxDBDataModelException("Measurement not given");
        }


        var point = PointData.Measurement(model.Measurement);

        foreach (var item in model.Tags)
        {
            point = point.Tag(item.Key, item.Value);
        }
        foreach (var item in model.Fields)
        {
            point = FieldCleaner(point, item.Key, item.Value);
        }

        if (model.Timestamp != 0)
        {
            point = point.Timestamp(model.Timestamp, WritePrecision.S);
        }
        return(point);
    }
コード例 #2
0
    public async Task Test()
    {
        var test = new InfluxDBDataModel("temperature");

        test.Tags.Add("hostname", "test");
        test.Fields.Add("value", 40.3D);


        await Context.WritePointAsync(test, "temperature", "Inter");
    }
コード例 #3
0
 public async Task WritePointAsync(InfluxDBDataModel model, string bucket, string org_id)
 {
     model.Timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
     var point = ToPointModel(model);
     await WriteApi.WritePointAsync(bucket, org_id, point);
 }