InfluxDB from GraphQL

Thursday, March 16th 2023

It is possible to query InfluxDB with GraphQL using ES6 with the help of a library called "influx-graphql". This library provides a GraphQL API for InfluxDB and allows you to query InfluxDB using GraphQL syntax.

Here's an example of how you can use the "influx-graphql" library to query InfluxDB with GraphQL using ES6:

import { createInfluxGraphQLSchema } from 'influx-graphql'; import Influx from 'influx'; // Create a new InfluxDB client instance const influx = new Influx.InfluxDB({ host: 'localhost', database: 'mydb', }); // Create a GraphQL schema for InfluxDB using influx-graphql const schema = createInfluxGraphQLSchema({ // Specify the InfluxDB client instance influx, // Specify the database to use database: 'mydb', }); // Define a GraphQL query const query = ` query { measurementName { field1 { values(limit: 10) { time value } } } } `; // Execute the query against the GraphQL schema schema.execute(query).then(result => { console.log(result.data); }).catch(error => { console.error(error); });

In this example, we create a new InfluxDB client instance and a GraphQL schema for InfluxDB using the "createInfluxGraphQLSchema" function provided by the "influx-graphql" library. We then define a GraphQL query using the schema and execute it using the "execute" function.

The query in this example retrieves the values of the "field1" field for a measurement called "measurementName", limiting the results to 10 records.

Note that you will need to install the "influx-graphql" and "influx" packages using npm or yarn before running this code.