Merge branch 'master' into 5949-add-api-reference-examples-to-influxdb3

pull/6002/head
Jameelah Mercer 2025-05-15 10:29:46 -07:00 committed by GitHub
commit 663cfc91bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 167 additions and 151 deletions

View File

@ -157,7 +157,7 @@ tags:
1. [Create an admin token](#section/Authentication) for the InfluxDB 3 Enterprise API.
```bash
curl -X POST "http://localhost:8181/api/v3/enterprise/configure/token/admin"
curl -X POST "http://localhost:8181/api/v3/configure/token/admin"
```
2. [Check the status](#section/Server-information) of the InfluxDB server.
@ -1351,15 +1351,13 @@ paths:
tags:
- Authentication
- Token
/api/v3/configure/enterprise/token/admin:
/api/v3/configure/token/admin:
post:
operationId: PostCreateAdminToken
summary: Create admin token
description: |
Creates an admin token.
An admin token is a special type of token that has full access to all resources in the system.
This endpoint is only available in InfluxDB 3 Enterprise.
responses:
'201':
description: |
@ -1374,14 +1372,12 @@ paths:
tags:
- Authentication
- Token
/api/v3/configure/enterprise/token/admin/regenerate:
/api/v3/configure/token/admin/regenerate:
post:
operationId: PostRegenerateAdminToken
summary: Regenerate admin token
description: |
Regenerates an admin token and revokes the previous token with the same name.
This endpoint is only available in InfluxDB 3 Enterprise.
parameters: []
responses:
'201':

View File

@ -71,13 +71,18 @@ and managing tables.
can sort on column headers or use the **Search** field to find a specific cluster.
4. In the database list, find and click the database you want to create a table in. You
can sort on column headers or use the **Search** field to find a specific database.
4. Click the **New Table** button above the table list.
5. Click the **New Table** button above the table list.
The **Create table** dialog displays.
5. In the **Create table** dialog, provide a **Table name**.
6. Toggle **Use default partitioning** to **On**
7. Click the **Create Table** button.
{{% /tab-content %}}
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-create-table-default.png" alt="Create table dialog" />}}
6. In the **Create table** dialog, provide a **Table name**.
7. Leave **Use custom partitioning** set to **Off**.
By default, the table inherits the database's partition template.
If no custom partition template is applied to the database, the table inherits the default partitioning of `%Y-%m-%d` (daily).
8. Click the **Create Table** button.
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl).
@ -95,8 +100,8 @@ influxctl table create \
Replace:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the database to create the table in
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: the name for your new table
{{% /tab-content %}}
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN MANAGEMENT API ------------------------------>
_This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client._
@ -123,11 +128,12 @@ curl \
Replace the following:
- {{% code-placeholder-key %}}`ACCOUNT_ID`{{% /code-placeholder-key %}}: the account ID for the cluster
- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}: the cluster ID
- {{% code-placeholder-key %}}`MANAGEMENT_TOKEN`{{% /code-placeholder-key %}}: a valid management token
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the database to create the table in
- {{% code-placeholder-key %}}`ACCOUNT_ID`{{% /code-placeholder-key %}}: the [account](/influxdb3/cloud-dedicated/admin/account/) ID for the cluster _(list details via the [Admin UI](/influxdb3/cloud-dedicated/admin/clusters/list/) or [CLI](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_
- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}: the [cluster](/influxdb3/cloud-dedicated/admin/clusters/) ID _(list details via the [Admin UI](/influxdb3/cloud-dedicated/admin/clusters/list/) or [CLI](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_.
- {{% code-placeholder-key %}}`MANAGEMENT_TOKEN`{{% /code-placeholder-key %}}: a valid [management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your {{% product-name %}} cluster
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the [database](/influxdb3/cloud-dedicated/admin/databases/) to create the table in
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: the name for your new table
{{% /tab-content %}}
{{< /tabs-wrapper >}}
@ -161,21 +167,26 @@ If a table doesn't have a custom partition template, it inherits the database's
can sort on column headers or use the **Search** field to find a specific cluster.
4. In the database list, find and click the database you want to create a table in. You
can sort on column headers or use the **Search** field to find a specific database.
4. Click the **New Table** button above the table list.
5. Click the **New Table** button above the table list.
The **Create table** dialog displays.
<img src="/img/influxdb3/cloud-dedicated-admin-ui-create-table.png" alt="Create table dialog" />
5. In the **Create table** dialog, provide a **Table name**.
6. Make sure the **Use default partitioning** toggle is set to **Off**
7. Provide the following:
- **Custom partition template time format**: The time part for partitioning data.
- _Optional_: **Custom partition template tag parts**: The tag parts for partitioning data.
- _Optional_: **Custom partition template tag bucket parts**: The tag bucket parts for partitioning data.
8. _Optional_: To add more parts to the partition template, click the **Add Tag** button.
9. Click the **Create Table** button to create the table.
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-create-table-default.png" alt="Create table dialog" />}}
6. In the **Create table** dialog, provide a **Table name**.
7. Toggle **Use custom partitioning** to **On**.
The **Custom partition template** section displays.
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-create-table-custom-partitioning.png" alt="Create table dialog with custom partitioning" />}}
8. Provide the following:
- **Custom partition template time format**: The time part for partitioning data (yearly, monthly, or daily).
- _Optional_: **Custom partition template tag parts**: The [tag parts](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-part-templates) for partitioning data.
- _Optional_: **Custom partition template tag bucket parts**: The [tag bucket parts](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-bucket-part-templates) for partitioning data.
9. _Optional_: To add more parts to the partition template, click the **Add Tag** button. For more information, see [Partition template requirements and guidelines](#partition-template-requirements-and-guidelines).
10. Click the **Create Table** button to create the table.
The new table displays in the list of tables for the cluster.
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN INFLUXCTL CUSTOM ----------------------------->
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/get-started/setup/#download-install-and-configure-the-influxctl-cli).
@ -220,7 +231,6 @@ Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the [database](/influxdb3/cloud-dedicated/admin/databases/) to create the table in
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: the name you want for the new table
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN MANAGEMENT API CUSTOM ------------------------------>
_This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client._

View File

@ -6,7 +6,7 @@ description: >
menu:
influxdb3_cloud_dedicated:
parent: Reference
weight: 6
weight: 105
---
The Administrative (Admin) UI for {{% product-name %}} is a browser-based, no-code way to manage your {{% product-name %}} environment and perform administrative tasks, such as creating and managing clusters, databases, and tokens.

View File

@ -9,7 +9,7 @@ menu:
influxdb3_cloud_dedicated:
parent: Reference
name: InfluxDB HTTP API
weight: 104
weight: 105
influxdb3/cloud-dedicated/tags: [api]
---

View File

@ -10,11 +10,9 @@ menu:
parent: Reference
name: CLIs
weight: 104
draft: true
# draft: true
---
The following command line interfaces (CLIs) are available:
{{< children >}}

View File

@ -4,7 +4,7 @@ description: >
InfluxDB client libraries are language-specific tools that integrate with InfluxDB APIs.
View the list of available client libraries.
list_title: API client libraries
weight: 105
weight: 106
aliases:
- /influxdb3/cloud-dedicated/reference/api/client-libraries/
- /influxdb3/cloud-dedicated/tools/client-libraries/

View File

@ -5,7 +5,7 @@ description: >
InfluxDB uses an InfluxQL-like predicate syntax to determine what data points to delete.
menu:
influxdb3_cloud_serverless:
parent: Syntax
parent: Other syntaxes
name: Delete predicate
weight: 104
influxdb3/cloud-serverless/tags: [syntax, delete]

View File

@ -55,7 +55,12 @@ snapshot. When a snapshot is restored to the Catalog store, the Compactor
A _soft delete_ refers to when, on compaction, the Compactor sets a `deleted_at`
timestamp on the Parquet file entry in the Catalog.
The Parquet file is no
longer queryable, but remains intact in the object store.
longer queryable, but remains intact in the object store.
> [!Note]
> Soft deletes are a mechanism of the {{% product-name %}} Catalog, not of the
> underlying object storage provider. Soft deletes do not modify objects in the
> object store; only Catalog entries that reference objects in the object store.
## Hard delete
@ -219,6 +224,15 @@ written on or around the beginning of the next hour.
Use the following process to restore your InfluxDB cluster to a recovery point
using Catalog store snapshots:
> [!Warning]
>
> #### Use the same InfluxDB Clustered version used to generate the snapshot
>
> When restoring an InfluxDB cluster to a recovery point, use the same version
> of InfluxDB Clustered used to generate the Catalog store snapshot.
> You may need to [downgrade to a previous version](/influxdb3/clustered/admin/upgrade/)
> before restoring.
1. **Install prerequisites:**
- `kubectl` CLI for managing your Kubernetes deployment.
@ -273,7 +287,8 @@ using Catalog store snapshots:
metadata:
name: influxdb
namespace: influxdb
pause: true
spec:
pause: true
# ...
```
@ -331,7 +346,8 @@ using Catalog store snapshots:
metadata:
name: influxdb
namespace: influxdb
pause: false
spec:
pause: false
# ...
```
@ -349,8 +365,6 @@ Your InfluxDB cluster is now restored to the recovery point.
When the Garbage Collector runs, it identifies what Parquet files are not
associated with the recovery point and [soft deletes](#soft-delete) them.
## Resources
### prep\_pg\_dump.awk

View File

@ -22,9 +22,9 @@ to delete a database from your InfluxDB cluster.
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).
2. Run the `influxctl database delete` command and provide the following:
- Name of the database to delete
- The name of the database to delete
3. Confirm that you want to delete the database.
3. Confirm that you want to delete the database.
{{% code-placeholders "DATABASE_NAME" %}}
```sh
@ -37,9 +37,12 @@ influxctl database delete DATABASE_NAME
>
> Once a database is deleted, data stored in that database cannot be recovered.
>
> #### Cannot reuse database names
>
> After a database is deleted, you cannot reuse the same name for a new database.
> #### Wait before writing to a new database with the same name
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
>
> #### Never directly modify the Catalog
>

View File

@ -1,55 +0,0 @@
---
title: Delete a database token
description: >
Use the [`influxctl token delete` command](/influxdb3/clustered/reference/cli/influxctl/token/delete/)
to delete a token from your InfluxDB cluster and revoke all
permissions associated with the token.
Provide the ID of the token you want to delete.
menu:
influxdb3_clustered:
parent: Database tokens
weight: 203
list_code_example: |
```sh
influxctl token delete <TOKEN_ID>
```
aliases:
- /influxdb3/clustered/admin/tokens/delete/
---
Use the [`influxctl token delete` command](/influxdb3/clustered/reference/cli/influxctl/token/delete/)
to delete a database token from your InfluxDB cluster and revoke
all permissions associated with the token.
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).
2. Run the [`influxctl token list` command](/influxdb3/clustered/reference/cli/influxctl/token/list)
to output tokens with their IDs.
Copy the **token ID** of the token you want to delete.
```sh
influxctl token list
```
3. Run the `influxctl token delete` command and provide the following:
- Token ID to delete
4. Confirm that you want to delete the token.
{{% code-placeholders "TOKEN_ID" %}}
```sh
influxctl token delete TOKEN_ID
```
{{% /code-placeholders %}}
> [!Warning]
> #### Deleting a token is immediate and cannot be undone
>
> Deleting a database token is a destructive action that takes place immediately
> and cannot be undone.
>
> #### Rotate deleted tokens
>
> After deleting a database token, any clients using the deleted token need to be
> updated with a new database token to continue to interact with your InfluxDB
> cluster.

View File

@ -0,0 +1,56 @@
---
title: Revoke a database token
description: >
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
to revoke a token from your InfluxDB cluster and disable all
permissions associated with the token.
Provide the ID of the token you want to revoke.
menu:
influxdb3_clustered:
parent: Database tokens
weight: 203
list_code_example: |
```sh
influxctl token revoke <TOKEN_ID>
```
aliases:
- /influxdb3/clustered/admin/tokens/delete/
- /influxdb3/clustered/admin/tokens/database/delete/
---
Use the [`influxctl token revoke` command](/influxdb3/clustered/reference/cli/influxctl/token/revoke/)
to revoke a database token from your InfluxDB cluster and disable
all permissions associated with the token.
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/clustered/reference/cli/influxctl/#download-and-install-influxctl).
2. Run the [`influxctl token list` command](/influxdb3/clustered/reference/cli/influxctl/token/list)
to output tokens with their IDs.
Copy the **token ID** of the token you want to delete.
```sh
influxctl token list
```
3. Run the `influxctl token revoke` command and provide the following:
- Token ID to revoke
4. Confirm that you want to revoke the token.
{{% code-placeholders "TOKEN_ID" %}}
```sh
influxctl token revoke TOKEN_ID
```
{{% /code-placeholders %}}
> [!Warning]
> #### Revoking a token is immediate and cannot be undone
>
> Revoking a database token is a destructive action that takes place immediately
> and cannot be undone.
>
> #### Rotate revoked tokens
>
> After revoking a database token, any clients using the revoked token need to
> be updated with a new database token to continue to interact with your
> {{% product-name omit=" Clustered" %}} cluster.

View File

@ -68,17 +68,12 @@ Be sure to follow [partitioning best practices](/influxdb3/clustered/admin/custo
> Otherwise, InfluxDB omits time from the partition template and won't compact partitions.
> [!Warning]
> #### Cannot reuse deleted database names
>
> You cannot reuse the name of a deleted database when creating a new database.
> If you try to reuse the name, the API response status code
> is `400` and the `message` field contains the following:
>
> ```text
> 'iox_proxy.app.CreateDatabase failed to create database: \
> rpc error: code = AlreadyExists desc = A namespace with the
> name `<DATABASE_NAME>` already exists'
> ```
> #### Wait before writing to a new database with the same name as a deleted database
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
## Usage

View File

@ -1,14 +1,16 @@
---
title: influxctl database delete
description: >
The `influxctl database delete` command deletes a database from an InfluxDB cluster.
The `influxctl database delete` command deletes a database from an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl database
weight: 301
---
The `influxctl database delete` command deletes a database from an InfluxDB cluster.
The `influxctl database delete` command deletes a database from an
{{< product-name omit=" Clustered" >}} cluster.
## Usage
@ -24,10 +26,12 @@ influxctl database delete [command options] [--force] <DATABASE_NAME> [<DATABASE
>
> Deleting a database is a destructive action that cannot be undone.
>
> #### Cannot reuse deleted database names
>
> After deleting a database, you cannot reuse the name of the deleted database
> when creating a new database.
> #### Wait before writing to a new database with the same name
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
## Arguments

View File

@ -7,7 +7,7 @@ menu:
influxdb3_clustered:
name: Release notes
parent: Reference
weight: 190
weight: 101
---
View release notes and updates for products and tools related to

View File

@ -25,6 +25,30 @@ weight: 201
---
## 20250508-1719206 {date="2025-05-08"}
### Quickstart
```yaml
spec:
package:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250508-1719206
```
### Changes
#### Deployment
- Expose the v0 REST API for the management and authorization service (Granite).
#### Database Engine
- Reuse database names after deletion.
- Create database tokens with expiration dates.
- Revoke database tokens rather than deleting them.
---
## 20250212-1570743 {date="2025-02-12"}
### Quickstart

View File

@ -15,9 +15,6 @@ have multiple DVCs.
{{% show-in "core" %}}
- [Distinct Value Caches are flushed when the server stops](#distinct-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}
{{% show-in "enterprise" %}}
- [Distinct Value Caches are rebuilt on restart](#distinct-value-caches-are-rebuilt-on-restart)
{{% /show-in %}}
Consider a dataset with the following schema:
@ -75,9 +72,6 @@ node requires to maintain it. Consider the following:
{{% show-in "core" %}}
- [Distinct Value Caches are flushed when the server stops](#distinct-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}
{{% show-in "enterprise" %}}
- [Distinct Value Caches are rebuilt on restart](#distinct-value-caches-are-rebuilt-on-restart)
{{% /show-in %}}
### High cardinality limits
@ -96,11 +90,3 @@ stops. After a server restart, {{% product-name %}} only writes new values to
the DVC when you write data, so there may be a period of time when some values are
unavailable in the DVC.
{{% /show-in %}}
{{% show-in "enterprise" %}}
### Distinct Value Caches are rebuilt on restart
Because the DVC is an in-memory cache, the cache is flushed any time the server
stops. After a server restarts, {{< product-name >}} uses persisted data to
rebuild the DVC.
{{% /show-in %}}

View File

@ -17,9 +17,6 @@ An LVC is associated with a table, which can have multiple LVCs.
{{% show-in "core" %}}
- [Last Value Caches are flushed when the server stops](#last-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}
{{% show-in "enterprise" %}}
- [Last Value Caches are rebuilt on restart](#last-value-caches-are-rebuilt-on-restart)
{{% /show-in %}}
- [Defining value columns](#defining-value-columns)
Consider a dataset with the following schema (similar to the
@ -88,11 +85,7 @@ maintain it. Consider the following:
- [Value count](#value-count)
{{% show-in "core" %}}
- [Last Value Caches are flushed when the server stops](#last-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}
{{% show-in "enterprise" %}}
- [Last Value Caches are rebuilt on restart](#last-value-caches-are-rebuilt-on-restart)
{{% /show-in %}}
- [Defining value columns](#defining-value-columns)
{{% /show-in %}}lue-columns)
### High cardinality key columns
@ -141,14 +134,6 @@ you write data, so there may be a period of time when some values are
unavailable in the LVC.
{{% /show-in %}}
{{% show-in "enterprise" %}}
### Last Value Caches are rebuilt on restart
Because the LVC is an in-memory cache, the cache is flushed any time the server
stops. After a server restarts, {{< product-name >}} uses persisted data to
rebuild the LVC.
{{% /show-in %}}
### Defining value columns
When creating an LVC, if you include the `--value-columns` options to specify

View File

@ -15,7 +15,7 @@ This guide walks you through setting up the Processing Engine, creating your fir
## Before you begin
Ensure you have:
- A working InfluxDB 3 Core instance
- A working {{% product-name %}} instance
- Access to command line
- Python installed if you're writing your own plugin
- Basic knowledge of the InfluxDB CLI
@ -144,7 +144,7 @@ Plugins have various functions such as:
- Access keyword arguments (as `args`) passed from _trigger arguments_ configurations
- Access the `influxdb3_local` shared API to write data, query data, and managing state between executions
For more information about available functions, arguments, and how plugins interact with InfluxDB, see the [Extended Plugin API documentation](/influxdb3/shared/v3-core-plugins/).
For more information about available functions, arguments, and how plugins interact with InfluxDB, see how to [Extend plugins](/influxdb3/version/extend-plugin/).
### Create a custom plugin

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 KiB