Merge pull request #5620 from influxdata/v1-api-recommends

fix(v1): update client library recommendations for v1, v3
pull/5618/head^2
Jason Stirnaman 2024-09-26 12:58:33 -05:00 committed by GitHub
commit 1a7bab94a4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 63 additions and 46 deletions

View File

@ -1,7 +1,7 @@
---
title: InfluxDB v2 API client libraries
description: >
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints).
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
View the list of available client libraries.
weight: 101
menu:
@ -25,7 +25,7 @@ prepend:
## Client libraries for InfluxDB 2.x and 1.8+
InfluxDB client libraries are language-specific tools that integrate with InfluxDB APIs.
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints).
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
Functionality varies among client libraries.
InfluxDB client libraries are maintained by the InfluxDB community.

View File

@ -1,7 +1,7 @@
---
title: InfluxDB v2 API client libraries
description: >
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints).
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
View the list of available client libraries.
weight: 101
menu:
@ -25,11 +25,10 @@ prepend:
## Client libraries for InfluxDB 2.x and 1.8+
InfluxDB client libraries are language-specific tools that integrate with InfluxDB APIs.
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints).
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
Functionality varies among client libraries.
These client libraries are in active development and may not be feature-complete.
InfluxDB client libraries are maintained by the InfluxDB community.
For specifics about a client library, see the library's GitHub repository.
{{< children depth="999" type="list" >}}

View File

@ -1,7 +1,7 @@
---
title: InfluxDB v2 API client libraries
description: >
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints).
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
View the list of available client libraries.
weight: 101
menu:
@ -25,7 +25,7 @@ prepend:
## Client libraries for InfluxDB 2.x and 1.8+
InfluxDB client libraries are language-specific tools that integrate with InfluxDB APIs.
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints).
InfluxDB v2 client libraries use InfluxDB `/api/v2` endpoints and work with [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
Functionality varies among client libraries.
InfluxDB client libraries are maintained by the InfluxDB community.

View File

@ -163,7 +163,7 @@ This release updates support for the Flux language and queries. To learn about F
#### Forward compatibility
- [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-20-api-compatibility-endpoints) are now part of the InfluxDB 1.x line.
- [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints) are now part of the InfluxDB 1.x line.
This allows you to leverage the new InfluxDB 2.0 [client libraries](/influxdb/v1/tools/api_client_libraries/)
for both writing and querying data with Flux. Take advantage of the latest client libraries
while readying your implementation for a move to InfluxDB 2.0 Cloud when you're ready to scale.

View File

@ -27,7 +27,7 @@ Related entries: [InfluxDB line protocol](/influxdb/v1/concepts/glossary/#influx
## bucket
A bucket is a named location where time series data is stored in **InfluxDB 2.0**. In InfluxDB 1.8+, each combination of a database and a retention policy (database/retention-policy) represents a bucket. Use the [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api#influxdb-2-0-api-compatibility-endpoints) included with InfluxDB 1.8+ to interact with buckets.
A bucket is a named location where time series data is stored in **InfluxDB 2.0**. In InfluxDB 1.8+, each combination of a database and a retention policy (database/retention-policy) represents a bucket. Use the [InfluxDB 2.x API compatibility endpoints](/influxdb/v1/tools/api#influxdb-2-0-api-compatibility-endpoints) included with InfluxDB 1.8+ to interact with buckets.
## continuous query (CQ)

View File

@ -54,7 +54,7 @@ The header row defines column labels for the table. The `cpu` [measurement](/inf
### Flux
Check out the [Get started with Flux](/influxdb/v2/query-data/get-started/) to learn more about building queries with Flux.
For more information about querying data with the InfluxDB API using Flux, see the [API reference documentation](/influxdb/v1/tools/api/#influxdb-2-0-api-compatibility-endpoints).
For more information about querying data with the InfluxDB API using Flux, see the [API reference documentation](/influxdb/v1/tools/api/#influxdb-2x-api-compatibility-endpoints).
## Query data with InfluxQL

View File

@ -13,43 +13,65 @@ v2: /influxdb/v2/reference/api/
---
The InfluxDB API provides a simple way to interact with the database.
It uses HTTP response codes, HTTP authentication, JWT Tokens, and basic authentication, and responses are returned in JSON.
It uses HTTP authentication and JWT Tokens.
Responses use standard HTTP response codes and JSON format.
To send API requests, you can use
the [InfluxDB v1 client libraries](/influxdb/v1/tools/api_client_libraries/),
the [InfluxDB v2 client libraries](/influxdb/v1/tools/api_client_libraries/),
[Telegraf](https://docs.influxdata.com/telegraf/v1/),
or the client of your choice.
{{% note %}}
If you're getting started with InfluxDB v1, we recommend using the
InfluxDB v1 client libraries and InfluxQL for
[InfluxDB v3 compatibility](/influxdb/v1/tools/api/#influxdb-v3-compatibility).
{{% /note %}}
The following sections assume your InfluxDB instance is running on `localhost`
port `8086` and HTTPS is not enabled.
Those settings [are configurable](/influxdb/v1/administration/config/#http-endpoints-settings).
- [InfluxDB 2.0 API compatibility endpoints](#influxdb-2-0-api-compatibility-endpoints)
- [InfluxDB 1.x HTTP endpoints](#influxdb-1-x-http-endpoints)
- [InfluxDB v3 compatibility](#influxdb-v3-compatibility)
- [InfluxDB 2.x API compatibility endpoints](#influxdb-2x-api-compatibility-endpoints)
- [InfluxDB 1.x HTTP endpoints](#influxdb-1x-http-endpoints)
## InfluxDB 2.0 API compatibility endpoints
## InfluxDB v3 compatibility
InfluxDB 1.8.0 introduced forward compatibility APIs for InfluxDB 2.0.
There are multiple reasons for introducing these:
InfluxDB v3 is InfluxDBs next generation that allows
infinite series cardinality without impact on overall database performance, and
brings native SQL support and improved InfluxQL performance.
- The latest [InfluxDB client libraries](/influxdb/v1/tools/api_client_libraries/)
are built for the InfluxDB 2.0 API, but now also work with **InfluxDB 1.8.0+**.
- InfluxDB Cloud is a generally available service across multiple cloud service providers and regions
that is fully compatible with the **latest** client libraries.
InfluxDB v3 supports the v1 `/write` and `/query` HTTP API endpoints.
InfluxDB v3 isn't optimized for Flux.
If you are just getting started with InfluxDB 1.x today, we recommend adopting
the [latest client libraries](/influxdb/v1/tools/api_client_libraries/).
They allow you to easily move from InfluxDB 1.x to InfluxDB 2.0 Cloud or open source,
(when you are ready).
If you're getting started with InfluxDB v1, we recommend using the
InfluxDB v1 client libraries and InfluxQL.
When you're ready, you can migrate to InfluxDB v3 and continue using the v1 client
libraries as you gradually move your query workloads to use the v3 client libraries
(and the v3 Flight API).
The following forward compatible APIs are available:
For more information, see [API compatibility and migration guides for InfluxDB v3](/influxdb/cloud-dedicated/guides).
## InfluxDB 2.x API compatibility endpoints
InfluxDB 1.8.0 introduced forward compatibility APIs for InfluxDB v2.
[InfluxDB v2 client libraries](/influxdb/v1/tools/api_client_libraries/)
are built for the InfluxDB v2 API, but also work with **InfluxDB 1.8+**.
The following v2 compatible APIs are available:
| Endpoint | Description |
|:---------- |:---------- |
| [/api/v2/query](#api-v2-query-http-endpoint) | Query data in InfluxDB 1.8.0+ using the InfluxDB 2.0 API and [Flux](/flux/latest/) |
| [/api/v2/write](#api-v2-write-http-endpoint) | Write data to InfluxDB 1.8.0+ using the InfluxDB 2.0 API _(compatible with InfluxDB 2.0 client libraries)_ |
| [/api/v2/query](#api-v2-query-http-endpoint) | Query data in InfluxDB 1.8.0+ using the InfluxDB v2 API and [Flux](/flux/latest/) |
| [/api/v2/write](#api-v2-write-http-endpoint) | Write data to InfluxDB 1.8.0+ using the InfluxDB v2 API _(compatible with InfluxDB v2 client libraries)_ |
| [/health](#health-http-endpoint) | Check the health of your InfluxDB instance |
### `/api/v2/query/` HTTP endpoint
The `/api/v2/query` endpoint accepts `POST` HTTP requests.
Use this endpoint to query data using [Flux](/influxdb/v1/flux/) and [InfluxDB 2.0 client libraries](/influxdb/v2/api-guide/client-libraries/).
Flux is the primary language for working with data in InfluxDB 2.0.
Use this endpoint to query data using [Flux](/influxdb/v1/flux/) and [InfluxDB v2 client libraries](/influxdb/v2/api-guide/client-libraries/).
Flux is the primary language for working with data in InfluxDB v2.
**Include the following HTTP headers:**
@ -90,11 +112,11 @@ curl -XPOST localhost:8086/api/v2/query -sS \
### `/api/v2/write/` HTTP endpoint
The `/api/v2/write` endpoint accepts `POST` HTTP requests.
Use this endpoint to write to an InfluxDB 1.8.0+ database using [InfluxDB 2.0 client libraries](/influxdb/v2/api-guide/client-libraries/).
Use this endpoint to write to an InfluxDB 1.8.0+ database using [InfluxDB v2 client libraries](/influxdb/v2/api-guide/client-libraries/).
Both InfluxDB 1.x and 2.0 APIs support the same line protocol format for raw time series data.
For the purposes of writing data, the APIs differ only in the URL parameters and request headers.
InfluxDB 2.0 uses [organizations](/influxdb/v2/reference/glossary/#organization)
InfluxDB v2 uses [organizations](/influxdb/v2/reference/glossary/#organization)
and [buckets](/influxdb/v2/reference/glossary/#bucket)
instead of databases and retention policies.
The `/api/v2/write` endpoint maps the supplied version 1.8 database and retention policy to a bucket.
@ -112,7 +134,7 @@ The `/api/v2/write` endpoint maps the supplied version 1.8 database and retentio
**Include the following HTTP header:**
- `Authorization`: In InfluxDB 2.0 uses [API Tokens](/influxdb/v2/admin/tokens/)
- `Authorization`: In InfluxDB v2 uses [API Tokens](/influxdb/v2/admin/tokens/)
to access the platform and all its capabilities.
InfluxDB v1.x uses a username and password combination when accessing the HTTP APIs.
Use the Token schema to provide your InfluxDB 1.x username and password separated by a colon (`:`).

View File

@ -13,15 +13,16 @@ menu:
v2: /influxdb/v2/api-guide/client-libraries/
---
InfluxDB client libraries are language-specific packages that integrate with the InfluxDB 2.0 API and support both **InfluxDB 1.8+** and **InfluxDB 2.0**.
InfluxDB v2 client libraries are language-specific packages that integrate
with the InfluxDB v2 API and support both **InfluxDB 1.8+** and **InfluxDB 2.x**.
{{% note %}}
We recommend using the new client libraries on this page to leverage the new
read (via Flux) and write APIs and prepare for conversion to InfluxDB v2 and
InfluxDB Cloud.
For more information, see [InfluxDB 2.0 API compatibility endpoints](/influxdb/v1/tools/api/#influxdb-2-0-api-compatibility-endpoints).
Client libraries for [InfluxDB 1.7 and earlier](/influxdb/v1/tools/api_client_libraries/)
may continue to work, but are not maintained by InfluxData.
If you're getting started with InfluxDB v1, we recommend using the
InfluxDB v1 client libraries and InfluxQL for
[InfluxDB v3 compatibility](/influxdb/v1/tools/api/#influxdb-v3-compatibility).
For more information about API and client library compatibility, see the
[InfluxDB v1 API reference](/influxdb/v1/tools/api/).
{{% /note %}}
## Client libraries

View File

@ -19,9 +19,4 @@ influxdb/v2/tags: [client libraries]
InfluxDB client libraries are language-specific packages that integrate with the InfluxDB v2 API.
The following **InfluxDB v2** client libraries are available:
{{% note %}}
These client libraries are in active development and may not be feature-complete.
This list will continue to grow as more client libraries are released.
{{% /note %}}
{{< children type="list" >}}

View File

@ -1,6 +1,6 @@
{{ $productPathData := findRE "[^/]+.*?" .RelPermalink }}
{{ $product := index $productPathData 0 }}
{{ $productName := (index .Site.Data.products $product).name }}
{{ $productName := cond (isset (index .Site.Data.products $product) "altname") (index .Site.Data.products $product).altname (index .Site.Data.products $product).name }}
{{ $currentVersion := index $productPathData 1 }}
{{ $latestV2 := index (.Site.Data.products.influxdb.versions) 0 }}