J'ai un InfluxDB que je souhaite connecter à mon application vue. J'ai établi une connexion à la base de données et je peux enregistrer des données dans le terminal (pas dans la console) en utilisant le code suivant :
// index.js import express from "express"; // These lines make "require" available import { createRequire } from "module"; const require = createRequire(import.meta.url); import store from '../store/index.js' store.getters.config //Initialize the Client----------------------------------- const {InfluxDB, flux} = require('@influxdata/influxdb-client') const url = 'http://193.174.28.232:5102'; const token = 'qE83Rq0yQPGek6teUu745OkrOKW7jmInL5QrMq48-VIaXOagxPP3B8fvATAZsi7avaOlOSuMI0lRAKY9h9hnxg==' const org = 'TeamEE' const bucket = 'fdre818' const client = new InfluxDB({url: url, token: token}) const o = [] const speed = [] //Execute a Flux query--------- const queryApi = client.getQueryApi(org) const query = flux`from(bucket: "fdre818") |> range(start: 2022-04-20T10:00:00Z, stop: 2022-04-20T10:02:00Z) |> filter(fn: (r) => r._measurement == "86B20CC8") |> filter(fn: (r) => r._field == "Speed") |> aggregateWindow(every: 5s, fn: mean) |> map(fn: (r) => ({ r with _value: r._value * 3.6 })) |> limit(n: 10)` queryApi.queryRows(query, { next(row, tableMeta) { const o = tableMeta.toObject(row) speed.push(o._value) }, error(error) { console.error(error) console.log('Finished ERROR') }, complete() { console.log('Finished SUCCESS') store.state.suppliedInflux.speed = speed; }, }) export {client}
Maintenant, je souhaite transférer ces données vers mon composant vue mais cela ne fonctionne pas. J'ai essayé d'importer le fichier influxdb.js en utilisant la commande suivante
import * as Influxdb from '../database/influxdb.js'
Cela me donne l'erreur :
La solution est :
Je viens d'importer @influxdata/influxdb-client-browser au lieu de @influxdata/influxdb-client. Voir l'installation d'influxdb-client-js pour plus de détails.