Act in Time.
Build on InfluxDB.
The platform for building time series applications.

新幸运飞行艇开奖官网 InfluxDB is the time series platform
Build real-time applications for analytics, IoT and cloud-native services in less time with less code using InfluxDB. At its heart is a database purpose-built to handle the epic volumes and countless sources of time-stamped data produced by sensors, applications and infrastructure. If time is relevant to your data, you need a time series database.


A powerful API and toolset for real-time applications
A high-performance time series engine
A massive community of cloud and open source developers
官方开奖直播_结果号码查询 Code in the languages you love
Build your apps your way. Tap into our custom client libraries, powerful APIs and tools, or construct it yourself, line by line.
JavaScript
Write
Read
'use strict' /** @module write * Writes a data point to InfluxDB using the Javascript client library with Node.js. **/ import { InfluxDB, Point } from '@influxdata/influxdb-client' /** Environment variables **/ const url = process.env.INFLUX_URL const token = process.env.INFLUX_API_TOKEN const org = process.env.INFLUX_ORG const bucket = process.env.INFLUX_BUCKET /** * Instantiate the InfluxDB client * with a configuration object. **/ const influxDB = new InfluxDB({ url, token }) /** * Create a write client from the getWriteApi method. * Provide your `org` and `bucket`. **/ const writeApi = influxDB.getWriteApi(org, bucket) /** * Apply default tags to all points. **/ writeApi.useDefaultTags({ region: 'west' }) /** * Create a point and write it to the buffer. **/ const point1 = new Point('temperature') .tag('sensor_id', 'TLM01') .floatField('value', 24.0) console.log(` ${point1}`) writeApi.writePoint(point1) /** * Flush pending writes and close writeApi. **/ writeApi.close().then(() => { console.log('WRITE FINISHED') })
'use strict' /** @module query * Queries a data point in InfluxDB using the Javascript client library with Node.js. **/ import { InfluxDB, Point } from '@influxdata/influxdb-client' /** Environment variables **/ const url = process.env.INFLUX_URL || '' const token = process.env.INFLUX_TOKEN const org = process.env.INFLUX_ORG || '' /** * Instantiate the InfluxDB client * with a configuration object. * * Get a query client configured for your org. **/ const queryApi = new InfluxDB({url, token}).getQueryApi(org) /** To avoid SQL injection, use a string literal for the query. */ const fluxQuery = 'from(bucket:"air_sensor") |> range(start: 0) |> filter(fn: (r) => r._measurement == "temperature")' const fluxObserver = { next(row, tableMeta) { const o = tableMeta.toObject(row) console.log( `${o._time} ${o._measurement} in ${o.region} (${o.sensor_id}): ${o._field}=${o._value}` ) }, error(error) { console.error(error) console.log('nFinished ERROR') }, complete() { console.log('nFinished SUCCESS') } } /** Execute a query and receive line table metadata and rows. */ queryApi.queryRows(fluxQuery, fluxObserver)
Python
Write
Read
import influxdb_client from influxdb_client.client.write_api import SYNCHRONOUS bucket = "" org = " " token = " " # Store the URL of your InfluxDB instance url="https://us-west-2-1.aws.cloud2.influxdata.com" client = influxdb_client.InfluxDBClient( url=url, token=token, org=org ) write_api = client.write_api(write_options=SYNCHRONOUS) p = influxdb_client.Point("my_measurement").tag("location", "Prague").field("temperature", 25.3) write_api.write(bucket=bucket, org=org, record=p)
query_api = client.query_api() query = ' from(bucket:"my-bucket")\ |> range(start: -10m)\ |> filter(fn:(r) => r._measurement == "my_measurement")\ |> filter(fn: (r) => r.location == "Prague")\ |> filter(fn:(r) => r._field == "temperature" )' result = query_api.query(org=org, query=query) results = [] for table in result: for record in table.records: results.append((record.get_field(), record.get_value())) print(results) [(temperature, 25.3)]
Go
Write
Read
func main() { bucket := "example-bucket" org := "example-org" token := "example-token" // Store the URL of your InfluxDB instance url := "https://us-west-2-1.aws.cloud2.influxdata.com" // Create new client with default option for server url authenticate by token client := influxdb2.NewClient(url, token) // User blocking write client for writes to desired bucket writeAPI := client.WriteAPIBlocking(org, bucket) // Create point using full params constructor p := influxdb2.NewPoint("stat", map[string]string{"unit": "temperature"}, map[string]interface{}{"avg": 24.5, "max": 45}, time.Now()) // Write point immediately writeAPI.WritePoint(context.Background(), p) // Ensures background processes finishes client.Close() }
func main() { // Create client client := influxdb2.NewClient(url, token) // Get query client queryAPI := client.QueryAPI(org) // Get QueryTableResult result, err := queryAPI.Query(context.Background(), `from(bucket:"my-bucket")|> range(start: -1h) |> filter(fn: (r) => r._measurement == "stat")`) if err == nil { // Iterate over query response for result.Next() { // Notice when group key has changed if result.TableChanged() { fmt.Printf("table: %s\n", result.TableMetadata().String()) } // Access data fmt.Printf("value: %v\n", result.Record().Value()) } // Check for an error if result.Err() != nil { fmt.Printf("query parsing error: %s\n", result.Err().Error()) } } else { panic(err) } // Ensures background processes finishes client.Close() }
PHP
Write
Read
$client = new InfluxDB2\Client(["url" => "http://localhost:8086", "token" => "my-token", "bucket" => "my-bucket", "org" => "my-org", "precision" => InfluxDB2\Model\WritePrecision::NS ]); $write_api = $client->createWriteApi(); $write_api->write('h2o,location=west value=33i 15');
$this->client = new Client([ "url" => "http://localhost:8086", "token" => "my-token", "bucket" => "my-bucket", "precision" => WritePrecision::NS, "org" => "my-org", "debug" => false ]); $this->queryApi = $this->client->createQueryApi(); $result = $this->queryApi->queryRaw( 'from(bucket:"my-bucket") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()');
C#
Write
Read
// // Write Data // using (var writeApi = influxDBClient.GetWriteApi()) { // // Write by Point // var point = PointData.Measurement("temperature") .Tag("location", "west") .Field("value", 55D) .Timestamp(DateTime.UtcNow.AddSeconds(-10), WritePrecision.Ns); writeApi.WritePoint("bucket_name", "org_id", point); // // Write by LineProtocol // writeApi.WriteRecord("bucket_name", "org_id", WritePrecision.Ns, "temperature,location=north value=60.0"); // // Write by POCO // var temperature = new Temperature {Location = "south", Value = 62D, Time = DateTime.UtcNow}; writeApi.WriteMeasurement("bucket_name", "org_id", WritePrecision.Ns, temperature); }
// // Query data // var flux = "from(bucket:\"temperature-sensors\") |> range(start: 0)"; var fluxTables = await influxDBClient.GetQueryApi().QueryAsync(flux, "org_id"); fluxTables.ForEach(fluxTable => { var fluxRecords = fluxTable.Records; fluxRecords.ForEach(fluxRecord => { Console.WriteLine($"{fluxRecord.GetTime()}: {fluxRecord.GetValue()}"); }); }); influxDBClient.Dispose(); } [Measurement("temperature")] private class Temperature { [Column("location", IsTag = true)] public string Location { get; set; } [Column("value")] public double Value { get; set; } [Column(IsTimestamp = true)] public DateTime Time; } } }
Why developers use InfluxDB
Choose your own path
Start from the UI or skip right to the raw code and API. Collaborate with your team to build and run time series data apps.
Discover faster time to awesome
We are plug and play so you can spend more time building the features your users need. Our documentation is written for and by engineers.
InfluxDB lets you code your way
Streamline your workflow by using your preferred language (C#, Go, Ruby), your data sources and the tools you use every day.

INFLUXDB CLOUD
Keep your time series data close
InfluxDB Cloud works where developers are already building. Avoid unnecessary latency and the cost of moving data by keeping your applications nearby. Deploy with your preferred cloud vendor, anywhere in the world.
SYDNEY OREGON VIRGINIA IOWA BELGIUM FRANKFURT NETHERLANDS
CUSTOMER STORIES
Trusted by developers, from startup to enterprise

Read the Story
The platform for building and operating time series applications.