Rumah > pembangunan bahagian belakang > Golang > Pelanggan Golang InfluxDB menggunakan _titik tulis kunci medan

Pelanggan Golang InfluxDB menggunakan _titik tulis kunci medan

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2024-02-06 11:33:04
ke hadapan
926 orang telah melayarinya

Golang InfluxDB 客户端使用 _field 键写入点

Kandungan soalan

Saya ingin menulis sesuatu tentang InfluxDB dengan tandatangan ini:

{
"_field": "some_uuid",
"_value": float64,
"_time": "2006-01-02T15:04:05.000Z"
}
Salin selepas log masuk

Tetapi uuid ditulis pada kekunci "medan" dan bukannya "_field", dan kekunci "_field" mempunyai nilai lalai - "nilai". Bagaimana saya boleh membetulkannya?

Ini adalah kod sampel saya:

import (
  "fmt"
  influxdb2 "github.com/influxdata/influxdb-client-go/v2"
  "time"
)

type TagData struct {
    TagId     string  `json:"tag_id"`
    Value     float64 `json:"value"`
    Timestamp string  `json:"timestamp"`
}

func main() {
    inflClient := influxdb2.NewClient("my_url", "my_token")
    writeAPI := inflClient.WriteAPI("my_org", "my_bucket")

    data := TagData{
        TagId:     "d8f623a9-c255-4e0d-9c2f-126056875cef",
        Value:     300,
        Timestamp: "2023-12-11T15:35:42.343Z",
    }
    parsedTime, err := time.Parse("2006-01-02T15:04:05.000Z", data.Timestamp)
    if err != nil {
        fmt.Println("Error parsing time:", err)
        return
    }
    point := influxdb2.NewPointWithMeasurement("data").
        AddTag("field", data.TagId).
        AddField("value", data.Value).
        SetTime(parsedTime.UTC())
    writeAPI.WritePoint(point)
    writeAPI.Flush()
    inflClient.Close()
}
Salin selepas log masuk


Jawapan betul


Jika sesiapa mempunyai masalah yang sama - penyelesaian yang mungkin adalah:

point := influxdb2.NewPointWithMeasurement("your_measurement").
    AddField(data.TagId, data.Value).
    SetTime(parsedTime.UTC())
Salin selepas log masuk
point := influxdb2.NewPoint("your_measurement",
    map[string]string{},
    map[string]interface{}{data.TagId: data.Value},
    parsedTime.UTC())
Salin selepas log masuk

Atas ialah kandungan terperinci Pelanggan Golang InfluxDB menggunakan _titik tulis kunci medan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan