Querying and Writing to InfluxDB Cloud and the Status of Client Libraries
By
Anais Dotis-Georgiou /
Product
Jun 16, 2023
Navigate to:
InfluxDB 3.0 is a versatile time series database built on top of the Apache ecosystem. The 3.0 product suite includes two cloud-based versions: InfluxDB Cloud Serverless, and InfluxDB Cloud Dedicated. For the purposes of this post, InfluxDB Cloud refers to these specific versions of InfluxDB. This post provides an update on the status of the client libraries for InfluxDB Cloud, as well as all the available resources to get started querying and writing data to InfluxDB. Before we dive into the status and availability of client libraries we’ll take a moment to introduce the write and query methods that already exist.
Writing data to InfluxDB Cloud
You can write data to InfluxDB Cloud with any existing InfluxDB v2 client library.
For a complete list, as well as examples on how to use the existing v2 client libraries, please see this documentation.
Additionally you can find guides on how to use these client libraries to write data to InfluxDB Cloud in the UI. On the home page select Add Data > Application Code > Select Programming Language. The Python and Go guides also include instructions for how to query with the Arrow Flight SQL Client using SQL.
Querying data from InfluxDB Cloud
You can query InfluxDB Cloud with the Apache Arrow Flight SQL interface, which provides SQL support for working with time series data. In this tutorial, we walk through the process of querying InfluxDB Cloud with Flight SQL, using C++, C#, Java, JavaScript, Python, and Go. The Flight SQL Client is part of Apache Arrow Flight, a framework for building high-performance data services. It provides a way to efficiently transmit large datasets over gRPC, a modern high-performance RPC framework.
Take a look at the following examples of how to query InfluxDB Cloud with the Flight SQL Client for the following languages:
Arrow Flight SQL Example | Query Language |
---|---|
C++ | SQL |
Go | SQL |
Python | SQL |
Java Example 1, Example 2 | SQL |
Client library status
While you can elect to use the Flight SQL clients in conjunction with the InfluxDB v2 client library, most likely you’ll want to take advantage of a unified client library that includes methods that wrap up the implementation of both. We’re also working on including functionality to enable developers to query with both SQL and InfluxQL. Here is the current status of the InfluxDB Cloud client libraries with links to their corresponding repos, where you can find examples of how to use the client libraries.
Client Library | Status | Query Languages |
---|---|---|
C# | Ready | SQL, InfluxQL |
Go | Ready | SQL, InfluxQL |
Python | Ready | SQL, InfluxQL |
Java | Ready | SQL |
JavaScript | Under development | SQL |
Note: The Python client contains methods that allow users to not only write data to InfluxDB with line protocol, but also the following file formats and data types: Pandas DataFrames, JSON, ORC, Parquet, and Feather. For examples on how to write all of those file formats, please see the following directory. Additionally you can query data with the CLI extension to the Python InfluxDB Cloud client library.
Blog posts and additional resources
In general, the Client Libraries will be available in the Influx Community, which is a place to host Influx Community projects. It’s largely maintained by the community and Developer Advocates at InfluxData. If you have any questions about the client libraries or want to contribute to any of them, please reach out using our community site or Slack. Additionally, if you found this post helpful, take a look at the following resources:
-
Resources on querying data with Arrow Flight SQL:
-
Resources on writing data with the v2 InfluxDB client libraries (make sure to just follow the write examples if you’re using InfluxDB Cloud):