Merge branch 'master' into patch-5
commit
efea01cf03
|
@ -31,10 +31,10 @@ jobs:
|
|||
command: cd api-docs && bash generate-api-docs.sh
|
||||
- run:
|
||||
name: Inject Flux stdlib frontmatter
|
||||
command: node ./flux-build-scripts/inject-flux-stdlib-frontmatter.js
|
||||
command: node ./flux-build-scripts/inject-flux-stdlib-frontmatter.cjs
|
||||
- run:
|
||||
name: Update Flux/InfluxDB versions
|
||||
command: node ./flux-build-scripts/update-flux-versions.js
|
||||
command: node ./flux-build-scripts/update-flux-versions.cjs
|
||||
- save_cache:
|
||||
key: install-{{ .Environment.CACHE_VERSION }}-{{ checksum ".circleci/config.yml" }}
|
||||
paths:
|
||||
|
|
|
@ -103,11 +103,13 @@ GitHub Copilot should help document InfluxData products by creating clear, accur
|
|||
product_version:
|
||||
weight: # Page order (1-99, 101-199, etc.)
|
||||
```
|
||||
- Follow the shortcode documentation in `CONTRIBUTING.md`
|
||||
- Follow the shortcode examples in `content/example.md` and the documentation
|
||||
for docs-v2 contributors in `CONTRIBUTING.md`
|
||||
- Use provided shortcodes correctly:
|
||||
- Notes/warnings: `{{% note %}}`, `{{% warn %}}`
|
||||
- Product-specific: `{{% enterprise %}}`, `{{% cloud %}}`
|
||||
- Tabbed content: `{{< tabs-wrapper >}}`, `{{% tabs %}}`, `{{% tab-content %}}`
|
||||
- Tabbed content for code examples (without additional text): `{{< code-tabs-wrapper >}}`, `{{% code-tabs %}}`, `{{% code-tab-content %}}`
|
||||
- Version links: `{{< latest >}}`, `{{< latest-patch >}}`
|
||||
- API endpoints: `{{< api-endpoint >}}`
|
||||
- Required elements: `{{< req >}}`
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,89 @@
|
|||
---
|
||||
mode: 'edit'
|
||||
applyTo: "content/{influxdb3/core,influxdb3/enterprise,shared/influxdb3*}/**"
|
||||
---
|
||||
## Best Practices
|
||||
|
||||
- Use UPPERCASE for placeholders to make them easily identifiable
|
||||
- Don't use pronouns in placeholders (e.g., "your", "this")
|
||||
- List placeholders in the same order they appear in the code
|
||||
- Provide clear descriptions including:
|
||||
- - Expected data type or format
|
||||
- - Purpose of the value
|
||||
- - Any constraints or requirements
|
||||
- Mark optional placeholders as "Optional:" in their descriptions
|
||||
- Placeholder key descriptions should fit the context of the code snippet
|
||||
- Include examples for complex formats
|
||||
|
||||
## Writing Placeholder Descriptions
|
||||
|
||||
Descriptions should follow consistent patterns:
|
||||
|
||||
1. **Admin Authentication tokens**:
|
||||
- Recommended: "a {{% token-link "admin" %}} for your {{< product-name >}} instance"
|
||||
- Avoid: "your token", "the token", "an authorization token"
|
||||
2. **Database resource tokens**:
|
||||
- Recommended: "your {{% token-link "database" %}}"{{% show-in "enterprise" %}} with permissions on the specified database{{% /show-in %}}
|
||||
- Avoid: "your token", "the token", "an authorization token"
|
||||
3. **Database names**:
|
||||
- Recommended: "the name of the database to [action]"
|
||||
- Avoid: "your database", "the database name"
|
||||
4. **Conditional content**:
|
||||
- Use `{{% show-in "enterprise" %}}` for content specific to enterprise versions
|
||||
- Example: "your {{% token-link "database" %}}{{% show-in "enterprise" %}} with permission to query the specified database{{% /show-in %}}"
|
||||
|
||||
## Common placeholders for InfluxDB 3
|
||||
|
||||
- `AUTH_TOKEN`: your {{% token-link %}}
|
||||
- `DATABASE_NAME`: the database to use
|
||||
- `TABLE_NAME`: Name of the table/measurement to query or write to
|
||||
- `NODE_ID`: Node ID for a specific node in a cluster
|
||||
- `CLUSTER_ID`: Cluster ID for a specific cluster
|
||||
- `HOST`: InfluxDB server hostname or URL
|
||||
- `PORT`: InfluxDB server port (typically 8181)
|
||||
- `QUERY`: SQL or InfluxQL query string
|
||||
- `LINE_PROTOCOL`: Line protocol data for writes
|
||||
- `PLUGIN_FILENAME`: Name of plugin file to use
|
||||
- `CACHE_NAME`: Name for a new or existing cache
|
||||
|
||||
## Hugo shortcodes in Markdown
|
||||
|
||||
- `{{% code-placeholders "PLACEHOLDER1|PLACEHOLDER2" %}}`: Use this shortcode to define placeholders in code snippets.
|
||||
- `{{% /code-placeholders %}}`: End the shortcode.
|
||||
- `{{% code-placeholder-key %}}`: Use this shortcode to define a specific placeholder key.
|
||||
- `{{% /code-placeholder-key %}}`: End the specific placeholder key shortcode.
|
||||
|
||||
## Language-Specific Placeholder Formatting
|
||||
|
||||
- **Bash/Shell**: Use uppercase variables with no quotes or prefix
|
||||
```bash
|
||||
--database DATABASE_NAME
|
||||
```
|
||||
- Python: Use string literals with quotes
|
||||
```python
|
||||
database_name='DATABASE_NAME'
|
||||
```
|
||||
- JSON: Use key-value pairs with quotes
|
||||
```json
|
||||
{
|
||||
"database": "DATABASE_NAME"
|
||||
}
|
||||
```
|
||||
|
||||
## Real-World Examples from Documentation
|
||||
|
||||
### InfluxDB CLI Commands
|
||||
This pattern appears frequently in CLI documentation:
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|AUTH_TOKEN" %}}
|
||||
```bash
|
||||
influxdb3 write \
|
||||
--database DATABASE_NAME \
|
||||
--token AUTH_TOKEN \
|
||||
--precision ns
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace the following placeholders with your values:
|
||||
|
||||
{{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to write to
|
||||
{{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "database" %}}{{% show-in "enterprise" %}} with write permissions on the specified database{{% /show-in %}}
|
|
@ -15,7 +15,10 @@ node_modules
|
|||
!telegraf-build/templates
|
||||
!telegraf-build/scripts
|
||||
!telegraf-build/README.md
|
||||
/cypress/downloads
|
||||
/cypress/screenshots/*
|
||||
/cypress/videos/*
|
||||
test-results.xml
|
||||
/influxdb3cli-build-scripts/content
|
||||
.vscode/*
|
||||
.idea
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$LEFTHOOK_VERBOSE" = "1" -o "$LEFTHOOK_VERBOSE" = "true" ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
if [ "$LEFTHOOK" = "0" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
call_lefthook()
|
||||
{
|
||||
if test -n "$LEFTHOOK_BIN"
|
||||
then
|
||||
"$LEFTHOOK_BIN" "$@"
|
||||
elif lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
lefthook "$@"
|
||||
else
|
||||
dir="$(git rev-parse --show-toplevel)"
|
||||
osArch=$(uname | tr '[:upper:]' '[:lower:]')
|
||||
cpuArch=$(uname -m | sed 's/aarch64/arm64/;s/x86_64/x64/')
|
||||
if test -f "$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook"
|
||||
then
|
||||
"$dir/node_modules/lefthook-${osArch}-${cpuArch}/bin/lefthook" "$@"
|
||||
elif test -f "$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook"
|
||||
then
|
||||
"$dir/node_modules/@evilmartians/lefthook/bin/lefthook-${osArch}-${cpuArch}/lefthook" "$@"
|
||||
elif test -f "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook"
|
||||
then
|
||||
"$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook" "$@"
|
||||
elif test -f "$dir/node_modules/lefthook/bin/index.js"
|
||||
then
|
||||
"$dir/node_modules/lefthook/bin/index.js" "$@"
|
||||
|
||||
elif bundle exec lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
bundle exec lefthook "$@"
|
||||
elif yarn lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
yarn lefthook "$@"
|
||||
elif pnpm lefthook -h >/dev/null 2>&1
|
||||
then
|
||||
pnpm lefthook "$@"
|
||||
elif swift package plugin lefthook >/dev/null 2>&1
|
||||
then
|
||||
swift package --disable-sandbox plugin lefthook "$@"
|
||||
elif command -v mint >/dev/null 2>&1
|
||||
then
|
||||
mint run csjones/lefthook-plugin "$@"
|
||||
else
|
||||
echo "Can't find lefthook in PATH"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
call_lefthook run "serve" "$@"
|
|
@ -1,6 +1,6 @@
|
|||
# Contributing to InfluxData Documentation
|
||||
|
||||
## Sign the InfluxData CLA
|
||||
### Sign the InfluxData CLA
|
||||
|
||||
The InfluxData Contributor License Agreement (CLA) is part of the legal framework
|
||||
for the open source ecosystem that protects both you and InfluxData.
|
||||
|
@ -28,8 +28,10 @@ For the linting and tests to run, you need to install Docker and Node.js
|
|||
dependencies.
|
||||
|
||||
\_**Note:**
|
||||
We strongly recommend running linting and tests, but you can skip them
|
||||
(and avoid installing dependencies)
|
||||
The git pre-commit and pre-push hooks are configured to run linting and tests automatically
|
||||
when you commit or push changes.
|
||||
We strongly recommend letting them run, but you can skip them
|
||||
(and avoid installing related dependencies)
|
||||
by including the `--no-verify` flag with your commit--for example, enter the following command in your terminal:
|
||||
|
||||
```sh
|
||||
|
@ -51,7 +53,7 @@ dev dependencies used in pre-commit hooks for linting, syntax-checking, and test
|
|||
Dev dependencies include:
|
||||
|
||||
- [Lefthook](https://github.com/evilmartians/lefthook): configures and
|
||||
manages pre-commit hooks for linting and testing Markdown content.
|
||||
manages git pre-commit and pre-push hooks for linting and testing Markdown content.
|
||||
- [prettier](https://prettier.io/docs/en/): formats code, including Markdown, according to style rules for consistency
|
||||
- [Cypress]: e2e testing for UI elements and URLs in content
|
||||
|
||||
|
@ -93,9 +95,11 @@ Make your suggested changes being sure to follow the [style and formatting guide
|
|||
|
||||
## Lint and test your changes
|
||||
|
||||
`package.json` contains scripts for running tests and linting.
|
||||
|
||||
### Automatic pre-commit checks
|
||||
|
||||
docs-v2 uses Lefthook to manage Git hooks, such as pre-commit hooks that lint Markdown and test code blocks.
|
||||
docs-v2 uses Lefthook to manage Git hooks that run during pre-commit and pre-push. The hooks run the scripts defined in `package.json` to lint Markdown and test code blocks.
|
||||
When you try to commit changes (`git commit`), Git runs
|
||||
the commands configured in `lefthook.yml` which pass your **staged** files to Vale,
|
||||
Prettier, Cypress (for UI tests and link-checking), and Pytest (for testing Python and shell code in code blocks).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- './../openapi/plugins/docs-plugin.js'
|
||||
- './../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -218,11 +218,11 @@ tags:
|
|||
|:-----------:|:------------------------ |:--------------------- |
|
||||
| `200` | Success | |
|
||||
| `204` | Success. No content | InfluxDB doesn't return data for the request. |
|
||||
| `400` | Bad request | May indicate one of the following: <ul><li>Line protocol is malformed. The response body contains the first malformed line in the data and indicates what was expected. For partial writes, the number of points written and the number of points rejected are also included. For more information, check the `rejected_points` measurement in your `_monitoring` bucket.</li><li>`Authorization` header is missing or malformed or the API token doesn't have permission for the operation.</li></ul> |
|
||||
| `400` | Bad request | May indicate one of the following:<ul><li>the request body is malformed</li><li>`Authorization` header is missing or malformed</li><li>the API token doesn't have permission for the operation.</li></ul> |
|
||||
| `401` | Unauthorized | May indicate one of the following: <ul><li>`Authorization: Token` header is missing or malformed</li><li>API token value is missing from the header</li><li>API token doesn't have permission. For more information about token types and permissions, see [Manage API tokens](/influxdb/v2/security/tokens/)</li></ul> |
|
||||
| `404` | Not found | Requested resource was not found. `message` in the response body provides details about the requested resource. |
|
||||
| `413` | Request entity too large | Request payload exceeds the size limit. |
|
||||
| `422` | Unprocessable entity | Request data is invalid. `code` and `message` in the response body provide details about the problem. |
|
||||
| `422` | Unprocessable entity | Request data is invalid. The request was well-formed, but couldn't complete due to semantic errors--for example, some or all points in a write request were rejected due to a schema or retention policy violation. The response body provides details about the problem. For more information about rejected points, see how to [Troubleshoot issues writing data](/influxdb/v2/write-data/troubleshoot/)|
|
||||
| `429` | Too many requests | API token is temporarily over the request quota. The `Retry-After` header describes when to try the request again. |
|
||||
| `500` | Internal server error | |
|
||||
| `503` | Service unavailable | Server is temporarily unavailable to process the request. The `Retry-After` header describes when to try the request again. |
|
||||
|
@ -12752,6 +12752,12 @@ paths:
|
|||
|
||||
- Returns this error only if the [Go (golang) `ioutil.ReadAll()`](https://pkg.go.dev/io/ioutil#ReadAll) function raises an error.
|
||||
- Returns `Content-Type: application/json` for this error.
|
||||
'422':
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Error'
|
||||
description: The request was well-formed, but some or all the points were rejected due to semantic errors--for example, schema conflicts or retention policy violations. Error message contains details for one or more rejected points.
|
||||
'429':
|
||||
description: |
|
||||
Too many requests.
|
||||
|
@ -13190,6 +13196,14 @@ paths:
|
|||
- Legacy Query
|
||||
/write:
|
||||
post:
|
||||
description: |-
|
||||
Writes line protocol to the specified bucket.
|
||||
|
||||
This endpoint provides backward compatibility for InfluxDB 1.x write workloads using tools such as InfluxDB 1.x client libraries, the Telegraf `outputs.influxdb` output plugin, or third-party tools.
|
||||
|
||||
Use this endpoint to send data in [line protocol](https://docs.influxdata.com/influxdb/v2/reference/syntax/line-protocol/) format to InfluxDB.
|
||||
Use query parameters to specify options for writing data.
|
||||
|
||||
operationId: PostLegacyWrite
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/TraceSpan'
|
||||
|
@ -13263,6 +13277,12 @@ paths:
|
|||
schema:
|
||||
$ref: '#/components/schemas/LineProtocolLengthError'
|
||||
description: Write has been rejected because the payload is too large. Error message returns max size supported. All data in body was rejected and not written.
|
||||
'422':
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Error'
|
||||
description: The request was well-formed, but some or all the points were rejected due to semantic errors--for example, schema conflicts or retention policy violations. Error message contains details for one or more rejected points.
|
||||
'429':
|
||||
description: Token is temporarily over quota. The Retry-After header describes when to try the write again.
|
||||
headers:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -40,6 +40,7 @@ tags:
|
|||
See how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/).
|
||||
|
||||
By default, management tokens in InfluxDB 3 are short-lived tokens issued by an OAuth2 identity provider that grant a specific user administrative access to your InfluxDB cluster. However, for automation purposes, you can manually create management tokens that authenticate directly with your InfluxDB cluster and do not require human interaction with your identity provider.
|
||||
<!-- ReDoc-Inject: <security-definitions> -->
|
||||
- name: Database tokens
|
||||
description: Manage database read/write tokens for a cluster
|
||||
- name: Databases
|
||||
|
@ -397,6 +398,26 @@ paths:
|
|||
post:
|
||||
operationId: CreateClusterDatabase
|
||||
summary: Create a database
|
||||
description: |
|
||||
Create a database for a cluster.
|
||||
|
||||
The database name must be unique within the cluster.
|
||||
|
||||
**Default maximum number of columns**: 250
|
||||
**Default maximum number of tables**: 500
|
||||
|
||||
The retention period is specified in nanoseconds. For example, to set a retention period of 1 hour, use `3600000000000`.
|
||||
|
||||
InfluxDB Cloud Dedicated lets you define a [custom partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/) strategy for each database and table.
|
||||
A _partition_ is a logical grouping of data stored in [Apache Parquet](https://parquet.apache.org/).
|
||||
By default, data is partitioned by day,
|
||||
but, depending on your schema and workload, customizing the partitioning
|
||||
strategy can improve query performance.
|
||||
|
||||
To use custom partitioning, you define a [partition template](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/).
|
||||
If a table doesn't have a custom partition template, it inherits the database's template.
|
||||
The partition template is set at the time of database creation and cannot be changed later.
|
||||
For more information, see [Custom partitions](/influxdb3/cloud-dedicated/admin/custom-partitions/).
|
||||
tags:
|
||||
- Databases
|
||||
parameters:
|
||||
|
@ -779,6 +800,18 @@ paths:
|
|||
post:
|
||||
operationId: CreateClusterDatabaseTable
|
||||
summary: Create a database table
|
||||
description: |
|
||||
Create a table. The database must already exist. With InfluxDB Cloud Dedicated, tables and measurements are synonymous.
|
||||
|
||||
Typically, tables are created automatically on write using the measurement name
|
||||
specified in line protocol written to InfluxDB.
|
||||
However, to apply a [custom partition template](/influxdb3/cloud-dedicated/admin/custom-partitions/)
|
||||
to a table, you must manually [create the table with custom partitioning](/influxdb3/cloud-dedicated/admin/tables/#create-a-table-with-custom-partitioning) before you write any data to it.
|
||||
|
||||
Partitioning defaults to `%Y-%m-%d` (daily).
|
||||
When a partition template is applied to a database, it becomes the default template
|
||||
for all tables in that database, but can be overridden when creating a
|
||||
table.
|
||||
tags:
|
||||
- Tables
|
||||
parameters:
|
||||
|
@ -1185,6 +1218,14 @@ paths:
|
|||
get:
|
||||
operationId: GetDatabaseToken
|
||||
summary: Get a database token
|
||||
description: |
|
||||
Retrieve metadata details for a [database token](/influxdb3/cloud-dedicated/admin/tokens/database/).
|
||||
|
||||
#### Store secure tokens in a secret store
|
||||
|
||||
We recommend storing database tokens in a **secure secret store**.
|
||||
|
||||
Token strings are viewable _only_ on token creation and aren't stored by InfluxDB; you can't recover a lost token.
|
||||
tags:
|
||||
- Database tokens
|
||||
parameters:
|
||||
|
@ -1299,6 +1340,8 @@ paths:
|
|||
patch:
|
||||
operationId: UpdateDatabaseToken
|
||||
summary: Update a database token
|
||||
description: |
|
||||
Update the description and permissions of a [database token](/influxdb3/cloud-dedicated/admin/tokens/database/).
|
||||
tags:
|
||||
- Database tokens
|
||||
parameters:
|
||||
|
@ -1317,7 +1360,6 @@ paths:
|
|||
- name: tokenId
|
||||
in: path
|
||||
description: The ID of the [database token](/influxdb3/cloud-dedicated/admin/tokens/database/) to update
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/components/schemas/UuidV4'
|
||||
requestBody:
|
||||
|
@ -1625,9 +1667,9 @@ components:
|
|||
description: |
|
||||
A template for [partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/) a cluster database.
|
||||
|
||||
Each template part is evaluated in sequence, concatinating the final
|
||||
partition key from the output of each part, delimited by the partition
|
||||
key delimiter `|`.
|
||||
Each partition template part is evaluated in sequence.
|
||||
The outputs from each part are concatenated with the
|
||||
`|` delimiter to form the final partition key.
|
||||
|
||||
For example, using the partition template below:
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -52,7 +52,7 @@ tags:
|
|||
#### Related guides
|
||||
|
||||
- [Manage tokens](/influxdb3/core/admin/tokens/)
|
||||
- [Authentication and authorization](/influxdb3/core/reference/authentication/)
|
||||
- [Authentication and authorization](/influxdb3/core/reference/internals/authentication/)
|
||||
x-traitTag: true
|
||||
- name: Cache data
|
||||
description: |
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
plugins:
|
||||
- '../../openapi/plugins/docs-plugin.js'
|
||||
- '../../openapi/plugins/docs-plugin.cjs'
|
||||
extends:
|
||||
- recommended
|
||||
- docs/all
|
||||
|
|
|
@ -52,7 +52,7 @@ tags:
|
|||
#### Related guides
|
||||
|
||||
- [Manage tokens](/influxdb3/enterprise/admin/tokens/)
|
||||
- [Authentication and authorization](/influxdb3/enterprise/reference/authentication/)
|
||||
- [Authentication and authorization](/influxdb3/enterprise/reference/internals/authentication/)
|
||||
x-traitTag: true
|
||||
- name: Cache data
|
||||
description: |
|
||||
|
@ -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':
|
||||
|
@ -1940,8 +1936,6 @@ components:
|
|||
scheme: bearer
|
||||
bearerFormat: JWT
|
||||
description: |
|
||||
_During Alpha release, an API token is not required._
|
||||
|
||||
A Bearer token for authentication.
|
||||
|
||||
Provide the scheme and the API token in the `Authorization` header--for example:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module.exports = SetTagGroups;
|
||||
|
||||
const { collect, getName, sortName, isPresent } = require('../../helpers/content-helper.js')
|
||||
const { collect, getName, sortName, isPresent } = require('../../helpers/content-helper.cjs')
|
||||
/**
|
||||
* Returns an object that defines handler functions for:
|
||||
* - Operation nodes
|
|
@ -1,25 +0,0 @@
|
|||
module.exports = SetTags;
|
||||
|
||||
const { tags } = require('../../../content/content')
|
||||
/**
|
||||
* Returns an object that defines handler functions for:
|
||||
* - DefinitionRoot (the root openapi) node
|
||||
* The DefinitionRoot handler, executed when
|
||||
* the parser is leaving the root node,
|
||||
* sets the root `tags` list to the provided `data`.
|
||||
*/
|
||||
/** @type {import('@redocly/openapi-cli').OasDecorator} */
|
||||
function SetTags() {
|
||||
const data = tags();
|
||||
|
||||
return {
|
||||
DefinitionRoot: {
|
||||
/** Set tags from custom tags when visitor enters root. */
|
||||
enter(root) {
|
||||
if(data) {
|
||||
root.tags = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
|
@ -1,5 +1,5 @@
|
|||
const path = require('path');
|
||||
const { toJSON } = require('./helpers/content-helper');
|
||||
const { toJSON } = require('./helpers/content-helper.cjs');
|
||||
|
||||
function getVersioned(filename) {
|
||||
const apiDocsRoot=path.resolve(process.env.API_DOCS_ROOT_PATH || process.cwd());
|
|
@ -1,14 +1,14 @@
|
|||
const {info, servers, tagGroups} = require('./docs-content');
|
||||
const ReportTags = require('./rules/report-tags');
|
||||
const ValidateServersUrl = require('./rules/validate-servers-url');
|
||||
const RemovePrivatePaths = require('./decorators/paths/remove-private-paths');
|
||||
const ReplaceShortcodes = require('./decorators/replace-shortcodes');
|
||||
const SetInfo = require('./decorators/set-info');
|
||||
const DeleteServers = require('./decorators/servers/delete-servers');
|
||||
const SetServers = require('./decorators/servers/set-servers');
|
||||
const SetTagGroups = require('./decorators/tags/set-tag-groups');
|
||||
const StripVersionPrefix = require('./decorators/paths/strip-version-prefix');
|
||||
const StripTrailingSlash = require('./decorators/paths/strip-trailing-slash');
|
||||
const {info, servers, tagGroups} = require('./docs-content.cjs');
|
||||
const ReportTags = require('./rules/report-tags.cjs');
|
||||
const ValidateServersUrl = require('./rules/validate-servers-url.cjs');
|
||||
const RemovePrivatePaths = require('./decorators/paths/remove-private-paths.cjs');
|
||||
const ReplaceShortcodes = require('./decorators/replace-shortcodes.cjs');
|
||||
const SetInfo = require('./decorators/set-info.cjs');
|
||||
const DeleteServers = require('./decorators/servers/delete-servers.cjs');
|
||||
const SetServers = require('./decorators/servers/set-servers.cjs');
|
||||
const SetTagGroups = require('./decorators/tags/set-tag-groups.cjs');
|
||||
const StripVersionPrefix = require('./decorators/paths/strip-version-prefix.cjs');
|
||||
const StripTrailingSlash = require('./decorators/paths/strip-trailing-slash.cjs');
|
||||
|
||||
const id = 'docs';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export * from './main.js';
|
|
@ -6,9 +6,6 @@
|
|||
/** Import modules that are not components.
|
||||
* TODO: Refactor these into single-purpose component modules.
|
||||
*/
|
||||
// import * as codeblocksPreferences from './api-libs.js';
|
||||
// import * as datetime from './datetime.js';
|
||||
// import * as featureCallouts from './feature-callouts.js';
|
||||
import * as apiLibs from './api-libs.js';
|
||||
import * as codeControls from './code-controls.js';
|
||||
import * as contentInteractions from './content-interactions.js';
|
||||
|
@ -21,15 +18,6 @@ import * as pageContext from './page-context.js';
|
|||
import * as pageFeedback from './page-feedback.js';
|
||||
import * as tabbedContent from './tabbed-content.js';
|
||||
import * as v3Wayfinding from './v3-wayfinding.js';
|
||||
// import * as homeInteractions from './home-interactions.js';
|
||||
// import { getUrls, getReferrerHost, InfluxDBUrl } from './influxdb-url.js';
|
||||
// import * as keybindings from './keybindings.js';
|
||||
// import * as listFilters from './list-filters.js';
|
||||
// import { Modal } from './modal.js';
|
||||
// import { showNotifications } from './notifications.js';
|
||||
// import ReleaseTOC from './release-toc.js';
|
||||
// import * as scroll from './scroll.js';
|
||||
// import { TabbedContent } from './tabbed-content.js';
|
||||
|
||||
/** Import component modules
|
||||
* The component pattern organizes JavaScript, CSS, and HTML for a specific UI element or interaction:
|
||||
|
@ -41,40 +29,95 @@ import * as v3Wayfinding from './v3-wayfinding.js';
|
|||
import AskAITrigger from './ask-ai-trigger.js';
|
||||
import CodePlaceholder from './code-placeholders.js';
|
||||
import { CustomTimeTrigger } from './custom-timestamps.js';
|
||||
import FluxInfluxDBVersionsTrigger from './flux-influxdb-versions.js';
|
||||
import { SearchButton } from './search-button.js';
|
||||
import { SidebarToggle } from './sidebar-toggle.js';
|
||||
import Theme from './theme.js';
|
||||
import ThemeSwitch from './theme-switch.js';
|
||||
// import CodeControls from './code-controls.js';
|
||||
// import ContentInteractions from './content-interactions.js';
|
||||
// import CustomTimestamps from './custom-timestamps.js';
|
||||
// import Diagram from './Diagram.js';
|
||||
// import FluxGroupKeysExample from './FluxGroupKeysExample.js';
|
||||
import FluxInfluxDBVersionsTrigger from './flux-influxdb-versions.js';
|
||||
// import PageFeedback from './page-feedback.js';
|
||||
// import SearchInput from './SearchInput.js';
|
||||
// import Sidebar from './Sidebar.js';
|
||||
// import V3Wayfinding from './v3-wayfinding.js';
|
||||
// import VersionSelector from './VersionSelector.js';
|
||||
|
||||
// Expose libraries and components within a namespaced object (for backwards compatibility or testing)
|
||||
// Expose libraries and components within a namespaced object (for backwards compatibility or testing)
|
||||
/**
|
||||
* Component Registry
|
||||
* A central registry that maps component names to their constructor functions.
|
||||
* Add new components to this registry as they are created or migrated from non-component modules.
|
||||
* This allows for:
|
||||
* 1. Automatic component initialization based on data-component attributes
|
||||
* 2. Centralized component management
|
||||
* 3. Easy addition/removal of components
|
||||
* 4. Simplified testing and debugging
|
||||
*/
|
||||
const componentRegistry = {
|
||||
'ask-ai-trigger': AskAITrigger,
|
||||
'code-placeholder': CodePlaceholder,
|
||||
'custom-time-trigger': CustomTimeTrigger,
|
||||
'flux-influxdb-versions-trigger': FluxInfluxDBVersionsTrigger,
|
||||
'search-button': SearchButton,
|
||||
'sidebar-toggle': SidebarToggle,
|
||||
'theme': Theme,
|
||||
'theme-switch': ThemeSwitch
|
||||
};
|
||||
|
||||
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
/**
|
||||
* Initialize global namespace for documentation JavaScript
|
||||
* Exposes core modules for debugging, testing, and backwards compatibility
|
||||
*/
|
||||
function initGlobals() {
|
||||
if (typeof window.influxdatadocs === 'undefined') {
|
||||
window.influxdatadocs = {};
|
||||
}
|
||||
|
||||
// Expose modules to the global object for debugging, testing, and backwards compatibility for non-ES6 modules.
|
||||
// Expose modules to the global object for debugging, testing, and backwards compatibility
|
||||
window.influxdatadocs.delay = delay;
|
||||
window.influxdatadocs.localStorage = window.LocalStorageAPI = localStorage;
|
||||
window.influxdatadocs.pageContext = pageContext;
|
||||
window.influxdatadocs.toggleModal = modals.toggleModal;
|
||||
window.influxdatadocs.componentRegistry = componentRegistry;
|
||||
|
||||
// On content loaded, initialize (not-component-ready) UI interaction modules
|
||||
// To differentiate these from component-ready modules, these modules typically export an initialize function that wraps UI interactions and event listeners.
|
||||
return window.influxdatadocs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize components based on data-component attributes
|
||||
* @param {Object} globals - The global influxdatadocs namespace
|
||||
*/
|
||||
function initComponents(globals) {
|
||||
const components = document.querySelectorAll('[data-component]');
|
||||
|
||||
components.forEach((component) => {
|
||||
const componentName = component.getAttribute('data-component');
|
||||
const ComponentConstructor = componentRegistry[componentName];
|
||||
|
||||
if (ComponentConstructor) {
|
||||
// Initialize the component and store its instance in the global namespace
|
||||
try {
|
||||
const instance = ComponentConstructor({ component });
|
||||
globals[componentName] = ComponentConstructor;
|
||||
|
||||
// Optionally store component instances for future reference
|
||||
if (!globals.instances) {
|
||||
globals.instances = {};
|
||||
}
|
||||
|
||||
if (!globals.instances[componentName]) {
|
||||
globals.instances[componentName] = [];
|
||||
}
|
||||
|
||||
globals.instances[componentName].push({
|
||||
element: component,
|
||||
instance
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(`Error initializing component "${componentName}":`, error);
|
||||
}
|
||||
} else {
|
||||
console.warn(`Unknown component: "${componentName}"`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize all non-component modules
|
||||
*/
|
||||
function initModules() {
|
||||
modals.initialize();
|
||||
apiLibs.initialize();
|
||||
codeControls.initialize();
|
||||
|
@ -84,67 +127,24 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||
pageFeedback.initialize();
|
||||
tabbedContent.initialize();
|
||||
v3Wayfinding.initialize();
|
||||
|
||||
/** Initialize components
|
||||
Component Structure: Each component is structured as a jQuery anonymous function that listens for the document ready state.
|
||||
Initialization in main.js: Each component is called in main.js inside a jQuery document ready function to ensure they are initialized when the document is ready.
|
||||
Note: These components should *not* be called directly in the HTML.
|
||||
*/
|
||||
const components = document.querySelectorAll('[data-component]');
|
||||
components.forEach((component) => {
|
||||
const componentName = component.getAttribute('data-component');
|
||||
switch (componentName) {
|
||||
case 'ask-ai-trigger':
|
||||
AskAITrigger({ component });
|
||||
window.influxdatadocs[componentName] = AskAITrigger;
|
||||
break;
|
||||
case 'code-placeholder':
|
||||
CodePlaceholder({ component });
|
||||
window.influxdatadocs[componentName] = CodePlaceholder;
|
||||
break;
|
||||
case 'custom-time-trigger':
|
||||
CustomTimeTrigger({ component });
|
||||
window.influxdatadocs[componentName] = CustomTimeTrigger;
|
||||
break;
|
||||
case 'flux-influxdb-versions-trigger':
|
||||
FluxInfluxDBVersionsTrigger({ component });
|
||||
window.influxdatadocs[componentName] = FluxInfluxDBVersionsTrigger;
|
||||
break;
|
||||
case 'search-button':
|
||||
SearchButton({ component });
|
||||
window.influxdatadocs[componentName] = SearchButton;
|
||||
break;
|
||||
case 'sidebar-toggle':
|
||||
SidebarToggle({ component });
|
||||
window.influxdatadocs[componentName] = SidebarToggle;
|
||||
break;
|
||||
case 'theme':
|
||||
Theme({ component });
|
||||
window.influxdatadocs[componentName] = Theme;
|
||||
break;
|
||||
// CodeControls();
|
||||
// ContentInteractions();
|
||||
// CustomTimestamps();
|
||||
// Diagram();
|
||||
// FluxGroupKeysExample();
|
||||
// FluxInfluxDBVersionsModal();
|
||||
// InfluxDBUrl();
|
||||
// Modal();
|
||||
// PageFeedback();
|
||||
// ReleaseTOC();
|
||||
// SearchInput();
|
||||
// showNotifications();
|
||||
// Sidebar();
|
||||
// TabbedContent();
|
||||
// ThemeSwitch({});
|
||||
// V3Wayfinding();
|
||||
// VersionSelector();
|
||||
case 'theme-switch':
|
||||
ThemeSwitch({ component });
|
||||
window.influxdatadocs[componentName] = ThemeSwitch;
|
||||
break;
|
||||
default:
|
||||
console.warn(`Unknown component: ${componentName}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Main initialization function
|
||||
*/
|
||||
function init() {
|
||||
// Initialize global namespace and expose core modules
|
||||
const globals = initGlobals();
|
||||
|
||||
// Initialize non-component UI modules
|
||||
initModules();
|
||||
|
||||
// Initialize components from registry
|
||||
initComponents(globals);
|
||||
}
|
||||
|
||||
// Initialize everything when the DOM is ready
|
||||
document.addEventListener('DOMContentLoaded', init);
|
||||
|
||||
// Export public API
|
||||
export { initGlobals, componentRegistry };
|
|
@ -5,13 +5,13 @@
|
|||
* release notes pages.
|
||||
*/
|
||||
|
||||
// Use jQuery filter to get an array of all the *release* h2 elements
|
||||
const releases = $('h2').filter(
|
||||
(_i, el) => !el.id.match(/checkpoint-releases/)
|
||||
// Get all h2 elements that are not checkpoint-releases
|
||||
const releases = Array.from(document.querySelectorAll('h2')).filter(
|
||||
el => !el.id.match(/checkpoint-releases/)
|
||||
);
|
||||
|
||||
// Extract data about each release from the array of releases
|
||||
releaseData = releases.map((_i, el) => ({
|
||||
const releaseData = releases.map(el => ({
|
||||
name: el.textContent,
|
||||
id: el.id,
|
||||
class: el.getAttribute('class'),
|
||||
|
@ -19,8 +19,8 @@ releaseData = releases.map((_i, el) => ({
|
|||
}));
|
||||
|
||||
// Use release data to generate a list item for each release
|
||||
getReleaseItem = (releaseData) => {
|
||||
var li = document.createElement("li");
|
||||
function getReleaseItem(releaseData) {
|
||||
const li = document.createElement("li");
|
||||
if (releaseData.class !== null) {
|
||||
li.className = releaseData.class;
|
||||
}
|
||||
|
@ -29,9 +29,10 @@ getReleaseItem = (releaseData) => {
|
|||
return li;
|
||||
}
|
||||
|
||||
// Use jQuery each to build the release table of contents
|
||||
releaseData.each((_i, release) => {
|
||||
$('#release-toc ul')[0].appendChild(getReleaseItem(release));
|
||||
// Build the release table of contents
|
||||
const releaseTocUl = document.querySelector('#release-toc ul');
|
||||
releaseData.forEach(release => {
|
||||
releaseTocUl.appendChild(getReleaseItem(release));
|
||||
});
|
||||
|
||||
/*
|
||||
|
@ -39,20 +40,30 @@ releaseData.each((_i, release) => {
|
|||
* number specified in the `show` attribute of `ul.release-list`.
|
||||
* Once all the release items are visible, the "Show More" button is hidden.
|
||||
*/
|
||||
$('#release-toc .show-more').click(function () {
|
||||
const showMoreBtn = document.querySelector('#release-toc .show-more');
|
||||
if (showMoreBtn) {
|
||||
showMoreBtn.addEventListener('click', function () {
|
||||
const itemHeight = 1.885; // Item height in rem
|
||||
const releaseNum = releaseData.length;
|
||||
const maxHeight = releaseNum * itemHeight;
|
||||
const releaseIncrement = Number($('#release-list')[0].getAttribute('show'));
|
||||
const currentHeight = Number(
|
||||
$('#release-list')[0].style.height.match(/\d+\.?\d+/)[0]
|
||||
);
|
||||
const releaseList = document.getElementById('release-list');
|
||||
const releaseIncrement = Number(releaseList.getAttribute('show'));
|
||||
const currentHeightMatch = releaseList.style.height.match(/\d+\.?\d+/);
|
||||
const currentHeight = currentHeightMatch
|
||||
? Number(currentHeightMatch[0])
|
||||
: 0;
|
||||
const potentialHeight = currentHeight + releaseIncrement * itemHeight;
|
||||
const newHeight = potentialHeight > maxHeight ? maxHeight : potentialHeight;
|
||||
|
||||
$('#release-list')[0].style.height = `${newHeight}rem`;
|
||||
releaseList.style.height = `${newHeight}rem`;
|
||||
|
||||
if (newHeight >= maxHeight) {
|
||||
$('#release-toc .show-more').fadeOut(100);
|
||||
// Simple fade out
|
||||
showMoreBtn.style.transition = 'opacity 0.1s';
|
||||
showMoreBtn.style.opacity = 0;
|
||||
setTimeout(() => {
|
||||
showMoreBtn.style.display = 'none';
|
||||
}, 100);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"*": [
|
||||
"*"
|
||||
"*",
|
||||
"../node_modules/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
.product {
|
||||
padding: 0 1rem;
|
||||
display: flex;
|
||||
flex: 1 1 50%;
|
||||
flex: 1 1 33%;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
max-width: 33%;
|
||||
|
@ -118,11 +118,10 @@
|
|||
line-height: 1.5rem;
|
||||
color: rgba($article-text, .7);
|
||||
}
|
||||
}
|
||||
|
||||
&.new {
|
||||
.product-info h3::after {
|
||||
content: "New";
|
||||
h3[state] {
|
||||
&::after {
|
||||
content: attr(state);
|
||||
margin-left: .5rem;
|
||||
font-size: 1rem;
|
||||
padding: .25em .5em .25em .4em;
|
||||
|
@ -132,6 +131,8 @@
|
|||
font-style: italic;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
ul.product-links {
|
||||
|
@ -227,6 +228,30 @@
|
|||
background: $article-bg;
|
||||
}
|
||||
|
||||
.categories {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
// margin: 0 -1rem;
|
||||
width: calc(100% + 2rem);
|
||||
|
||||
.category {
|
||||
&.full-width {
|
||||
width: 100%;
|
||||
}
|
||||
&.two-thirds {
|
||||
width: 66.66%;
|
||||
.product { max-width: 50%; }
|
||||
}
|
||||
&.one-third {
|
||||
width: 33.33%;
|
||||
.product {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.category-head{
|
||||
margin: 1rem 0 2rem;
|
||||
&::after {
|
||||
|
@ -234,6 +259,7 @@
|
|||
display: block;
|
||||
border-top: 1px solid $article-hr;
|
||||
margin-top: -1.15rem;
|
||||
width: calc(100% - 2rem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -441,6 +467,16 @@
|
|||
ul {margin-bottom: 0;}
|
||||
}
|
||||
}
|
||||
.categories .category {
|
||||
&.two-thirds {
|
||||
width: 100%;
|
||||
.product { max-width: 100%; }
|
||||
}
|
||||
&.one-third {
|
||||
width: 100%;
|
||||
.product { max-width: 100%; }
|
||||
}
|
||||
}
|
||||
}
|
||||
#telegraf {
|
||||
flex-direction: column;
|
||||
|
|
|
@ -96,4 +96,5 @@ blockquote {
|
|||
"blocks/tip",
|
||||
"blocks/important",
|
||||
"blocks/warning",
|
||||
"blocks/caution";
|
||||
"blocks/caution",
|
||||
"blocks/beta";
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
.block.beta {
|
||||
@include gradient($grad-burningDusk);
|
||||
padding: 4px;
|
||||
border: none;
|
||||
border-radius: 25px !important;
|
||||
|
||||
.beta-content {
|
||||
background: $article-bg;
|
||||
border-radius: 21px;
|
||||
padding: calc(1.65rem - 4px) calc(2rem - 4px) calc(.1rem + 4px) calc(2rem - 4px);
|
||||
|
||||
h4 {
|
||||
color: $article-heading;
|
||||
}
|
||||
|
||||
p {margin-bottom: 1rem;}
|
||||
|
||||
.expand-wrapper {
|
||||
border: none;
|
||||
margin: .5rem 0 1.5rem;
|
||||
}
|
||||
.expand {
|
||||
border: none;
|
||||
padding: 0;
|
||||
|
||||
.expand-content p {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
ul {
|
||||
|
||||
margin-top: -1rem;
|
||||
|
||||
&.feedback-channels {
|
||||
|
||||
padding: 0;
|
||||
margin: -1rem 0 1.5rem 2rem;
|
||||
list-style: none;
|
||||
|
||||
a {
|
||||
color: $article-heading;
|
||||
font-weight: $medium;
|
||||
position: relative;
|
||||
|
||||
&.discord:before {
|
||||
content: url('/svgs/discord.svg');
|
||||
display: inline-block;
|
||||
height: 1.1rem;
|
||||
width: 1.25rem;
|
||||
vertical-align: top;
|
||||
margin: 2px .65rem 0 0;
|
||||
}
|
||||
|
||||
&.community:before {
|
||||
content: "\e900";
|
||||
color: $article-heading;
|
||||
margin: 0 .65rem 0 0;
|
||||
font-size: 1.2rem;
|
||||
font-family: 'icomoon-v2';
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
&.slack:before {
|
||||
content: url('/svgs/slack.svg');
|
||||
display: inline-block;
|
||||
height: 1.1rem;
|
||||
width: 1.1rem;
|
||||
vertical-align: text-top;
|
||||
margin-right: .65rem;
|
||||
}
|
||||
|
||||
&.reddit:before {
|
||||
content: url('/svgs/reddit.svg');
|
||||
display: inline-block;
|
||||
height: 1.1rem;
|
||||
width: 1.2rem;
|
||||
vertical-align: top;
|
||||
margin: 2px .65rem 0 0;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: "\e90a";
|
||||
font-family: 'icomoon-v4';
|
||||
font-weight: bold;
|
||||
font-size: 1.3rem;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
@include gradient($grad-burningDusk);
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
right: 0;
|
||||
transform: translateX(.25rem);
|
||||
opacity: 0;
|
||||
transition: transform .2s, opacity .2s;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
&::after {transform: translateX(1.5rem); opacity: 1;}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Script to generate GitHub Copilot instructions
|
||||
* for InfluxData documentation.
|
||||
*/
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import process from 'process';
|
||||
import { execSync } from 'child_process';
|
||||
|
||||
// Get the current file path and directory
|
||||
export { buildContributingInstructions };
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
await buildContributingInstructions();
|
||||
} catch (error) {
|
||||
console.error('Error generating Copilot instructions:', error);
|
||||
}
|
||||
})();
|
||||
|
||||
/** Build instructions from CONTRIBUTING.md
|
||||
* This script reads CONTRIBUTING.md, formats it appropriately,
|
||||
* and saves it to .github/instructions/contributing.instructions.md
|
||||
*/
|
||||
function buildContributingInstructions() {
|
||||
// Paths
|
||||
const contributingPath = path.join(process.cwd(), 'CONTRIBUTING.md');
|
||||
const instructionsDir = path.join(process.cwd(), '.github', 'instructions');
|
||||
const instructionsPath = path.join(
|
||||
instructionsDir,
|
||||
'contributing.instructions.md'
|
||||
);
|
||||
|
||||
// Ensure the instructions directory exists
|
||||
if (!fs.existsSync(instructionsDir)) {
|
||||
fs.mkdirSync(instructionsDir, { recursive: true });
|
||||
}
|
||||
|
||||
// Read the CONTRIBUTING.md file
|
||||
let content = fs.readFileSync(contributingPath, 'utf8');
|
||||
|
||||
// Format the content for Copilot instructions with applyTo attribute
|
||||
content = `---
|
||||
applyTo: "content/**/*.md, layouts/**/*.html"
|
||||
---
|
||||
|
||||
# GitHub Copilot Instructions for InfluxData Documentation
|
||||
|
||||
## Purpose and scope
|
||||
|
||||
GitHub Copilot should help document InfluxData products
|
||||
by creating clear, accurate technical content with proper
|
||||
code examples, frontmatter, shortcodes, and formatting.
|
||||
|
||||
${content}`;
|
||||
|
||||
// Write the formatted content to the instructions file
|
||||
fs.writeFileSync(instructionsPath, content);
|
||||
|
||||
console.log(`✅ Generated Copilot instructions at ${instructionsPath}`);
|
||||
|
||||
// Add the file to git if it has changed
|
||||
try {
|
||||
const gitStatus = execSync(
|
||||
`git status --porcelain "${instructionsPath}"`
|
||||
).toString();
|
||||
if (gitStatus.trim()) {
|
||||
execSync(`git add "${instructionsPath}"`);
|
||||
console.log('✅ Added instructions file to git staging');
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('⚠️ Could not add instructions file to git:', error.message);
|
||||
}
|
||||
}
|
|
@ -449,6 +449,9 @@ services:
|
|||
- type: bind
|
||||
source: ./content
|
||||
target: /app/content
|
||||
- type: bind
|
||||
source: ./CONTRIBUTING.md
|
||||
target: /app/CONTRIBUTING.md
|
||||
volumes:
|
||||
test-content:
|
||||
cloud-tmp:
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
import:
|
||||
- hugo.yml
|
|
@ -0,0 +1,20 @@
|
|||
baseURL: 'http://localhost:1315/'
|
||||
|
||||
server:
|
||||
port: 1315
|
||||
|
||||
# Override settings for testing
|
||||
buildFuture: true
|
||||
|
||||
# Configure what content is built in testing env
|
||||
params:
|
||||
environment: testing
|
||||
buildTestContent: true
|
||||
|
||||
# Keep your shared content exclusions
|
||||
ignoreFiles:
|
||||
- "content/shared/.*"
|
||||
|
||||
# Ignore specific warning logs
|
||||
ignoreLogs:
|
||||
- warning-goldmark-raw-html
|
|
@ -22,7 +22,7 @@ We recommend the following design guidelines for most use cases:
|
|||
|
||||
Your queries should guide what data you store in [tags](/enterprise_influxdb/v1/concepts/glossary/#tag) and what you store in [fields](/enterprise_influxdb/v1/concepts/glossary/#field) :
|
||||
|
||||
- Store commonly queried and grouping ([`group()`](/flux/v0.x/stdlib/universe/group) or [`GROUP BY`](/enterprise_influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
|
||||
- Store commonly queried and grouping ([`group()`](/flux/v0/stdlib/universe/group) or [`GROUP BY`](/enterprise_influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
|
||||
- Store data in fields if each data point contains a different value.
|
||||
- Store numeric values as fields ([tag values](/enterprise_influxdb/v1/concepts/glossary/#tag-value) only support string values).
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@ related:
|
|||
- /influxdb/v2/write-data/
|
||||
- /influxdb/v2/write-data/quick-start
|
||||
- https://influxdata.com, This is an external link
|
||||
draft: true
|
||||
test_only: true # Custom parameter to indicate test-only content
|
||||
---
|
||||
|
||||
This is a paragraph. Lorem ipsum dolor ({{< icon "trash" "v2" >}}) sit amet, consectetur adipiscing elit. Nunc rutrum, metus id scelerisque euismod, erat ante suscipit nibh, ac congue enim risus id est. Etiam tristique nisi et tristique auctor. Morbi eu bibendum erat. Sed ullamcorper, dui id lobortis efficitur, mauris odio pharetra neque, vel tempor odio dolor blandit justo.
|
||||
|
||||
[Ref link][foo]
|
||||
|
||||
[foo]: https://docs.influxadata.com
|
||||
[foo]: https://docs.influxdata.com
|
||||
|
||||
This is **bold** text. This is _italic_ text. This is _**bold and italic**_.
|
||||
|
||||
|
|
|
@ -433,7 +433,7 @@ representative of the Flux SPEC.
|
|||
details.
|
||||
- Add tagging support to Flux tests.
|
||||
- Add new function [`experimental.catch()`](/flux/v0/stdlib/experimental/catch/).
|
||||
- Add new function [`testing.shouldError()`](/flux/v0.x/stdlib/testing/shoulderror/).
|
||||
- Add new function [`testing.shouldError()`](/flux/v0/stdlib/testing/shoulderror/).
|
||||
|
||||
### Bug fixes
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@ menu:
|
|||
parent: Account management
|
||||
name: View data usage
|
||||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
- /flux/v0/stdlib/experimental/usage/from/
|
||||
- /flux/v0/stdlib/experimental/usage/limits/
|
||||
alt_links:
|
||||
cloud-serverless: /influxdb3/cloud-serverless/admin/billing/data-usage/
|
||||
---
|
||||
|
|
|
@ -9,8 +9,8 @@ menu:
|
|||
parent: Account management
|
||||
name: Adjustable quotas and limits
|
||||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
- /flux/v0/stdlib/experimental/usage/from/
|
||||
- /flux/v0/stdlib/experimental/usage/limits/
|
||||
- /influxdb/cloud/write-data/best-practices/resolve-high-cardinality/
|
||||
alt_links:
|
||||
cloud-serverless: /influxdb3/cloud-serverless/admin/billing/limits/
|
||||
|
@ -97,7 +97,7 @@ Combine delete predicate expressions (if possible) into a single request. Influx
|
|||
|
||||
The {{< product-name >}} UI displays a notification message when service quotas or limits are exceeded. The error messages correspond with the relevant [API error responses](#api-error-responses).
|
||||
|
||||
Errors can also be viewed in the [Usage page](/influxdb/cloud/account-management/data-usage/) under **Limit Events**, e.g. `event_type_limited_query`, `event_type_limited_write`,`event_type_limited_cardinality`, or `event_type_limited_delete_rate`.
|
||||
Errors can also be viewed in the [Usage page](/influxdb/cloud/account-management/data-usage/) under **Limit Events**, for example: `event_type_limited_query`, `event_type_limited_write`,`event_type_limited_cardinality`, or `event_type_limited_delete_rate`.
|
||||
|
||||
## API error responses
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ To replicate the state of an organization:
|
|||
### Write data with Flux
|
||||
Perform a query to return all specified data.
|
||||
Write results directly to a bucket in the new organization with the Flux
|
||||
[`to()` function](/flux/v0.x/stdlib/influxdata/influxdb/to/).
|
||||
[`to()` function](/flux/v0/stdlib/influxdata/influxdb/to/).
|
||||
|
||||
{{% note %}}
|
||||
If writes are prevented by rate limiting,
|
||||
|
|
|
@ -25,7 +25,7 @@ types of demo data that let you explore and familiarize yourself with InfluxDB C
|
|||
{{% note %}}
|
||||
#### Free to use and read-only
|
||||
- InfluxDB Cloud demo data buckets are **free to use** and are **_not_ subject to
|
||||
[Free Plan rate limits](influxdb/cloud/account-management/limits/#free-plan-rate-limits) rate limits**.
|
||||
[Free Plan rate limits](/influxdb/cloud/account-management/limits/#free-plan-rate-limits) rate limits**.
|
||||
- Demo data buckets are **read-only**. You cannot write data into demo data buckets.
|
||||
{{% /note %}}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ prepend: |
|
|||
> [Use InfluxQL to query InfluxDB](/influxdb/cloud/query-data/influxql/).
|
||||
> For information about manually converting InfluxQL queries to Flux, see:
|
||||
>
|
||||
> - [Get started with Flux](/flux/v0.x/get-started/)
|
||||
> - [Get started with Flux](/flux/v0/get-started/)
|
||||
> - [Query data with Flux](/influxdb/cloud/query-data/flux/)
|
||||
> - [Migrate continuous queries to Flux tasks](/influxdb/cloud/upgrade/v1-to-cloud/migrate-cqs/)
|
||||
source: /shared/influxdb-v2/reference/cli/influx/transpile/_index.md
|
||||
|
|
|
@ -188,7 +188,7 @@ Now, you can add the following buckets with sample data to your notebooks:
|
|||
|
||||
### Add ability to share notebooks
|
||||
|
||||
Add ability to [share a notebook](/influxdb/cloud/tools/notebooks/manage-notebooks/#share-a-notebook) in the the InfluxDB Cloud notebook UI.
|
||||
Add ability to [share a notebook](/influxdb/cloud/tools/notebooks/manage-notebooks/#share-a-notebook) in the InfluxDB Cloud notebook UI.
|
||||
|
||||
## October 2021
|
||||
|
||||
|
@ -209,7 +209,7 @@ Refresh the look and feel of InfluxDB Cloud UI. The updated icons, fonts, and la
|
|||
|
||||
### Flux update
|
||||
|
||||
Upgrade to [Flux v0.139](/flux/v0.x/release-notes/).
|
||||
Upgrade to [Flux v0.139](/flux/v0/release-notes/).
|
||||
|
||||
### Telegraf configuration UI
|
||||
|
||||
|
@ -347,7 +347,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
|
|||
|
||||
## Features
|
||||
- **InfluxDB OSS 2.0 alpha-17** –
|
||||
_See the [alpha-17 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha17) for details._
|
||||
_See the [alpha-17 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha17) for details._
|
||||
- Alerts and Notifications to Slack (Free Plan), PagerDuty and HTTP (Usage-based Plan).
|
||||
- Rate limiting on cardinality for Free Plan.
|
||||
- Billing notifications.
|
||||
|
@ -359,7 +359,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
|
|||
### Features
|
||||
|
||||
- **InfluxDB OSS 2.0 alpha-15** –
|
||||
_See the [alpha-9 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha15) for details._
|
||||
_See the [alpha-9 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha15) for details._
|
||||
- Usage-based Plan.
|
||||
- Adjusted Free Plan rate limits.
|
||||
- Timezone selection in the user interface.
|
||||
|
@ -386,7 +386,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
|
|||
### Features
|
||||
|
||||
- **InfluxDB OSS 2.0 alpha-9** –
|
||||
_See the [alpha-9 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha9) for details._
|
||||
_See the [alpha-9 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha9) for details._
|
||||
|
||||
### Bug fixes
|
||||
|
||||
|
@ -403,7 +403,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
|
|||
### Features
|
||||
|
||||
- **InfluxDB OSS 2.0 alpha-7** –
|
||||
_See the [alpha-7 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha7) for details._
|
||||
_See the [alpha-7 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha7) for details._
|
||||
|
||||
### Bug fixes
|
||||
|
||||
|
|
|
@ -19,4 +19,5 @@ source: /shared/influxdb-v2/write-data/troubleshoot.md
|
|||
---
|
||||
|
||||
<!-- The content of this file is at
|
||||
// SOURCE content/shared/influxdb-v2/write-data/troubleshoot.md-->
|
||||
// SOURCE content/shared/influxdb-v2/write-data/troubleshoot.md
|
||||
-->
|
|
@ -22,7 +22,7 @@ We recommend the following design guidelines for most use cases:
|
|||
|
||||
Your queries should guide what data you store in [tags](/influxdb/v1/concepts/glossary/#tag) and what you store in [fields](/influxdb/v1/concepts/glossary/#field) :
|
||||
|
||||
- Store commonly queried and grouping ([`group()`](/flux/v0.x/stdlib/universe/group) or [`GROUP BY`](/influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
|
||||
- Store commonly queried and grouping ([`group()`](/flux/v0/stdlib/universe/group) or [`GROUP BY`](/influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
|
||||
- Store data in fields if each data point contains a different value.
|
||||
- Store numeric values as fields ([tag values](/influxdb/v1/concepts/glossary/#tag-value) only support string values).
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ customSumProduct = (tables=<-) => tables
|
|||
|
||||
#### Check if a statically defined record contains a key
|
||||
|
||||
When you use the [record literal syntax](/flux/v0.x/data-types/composite/record/#record-syntax)
|
||||
When you use the [record literal syntax](/flux/v0/data-types/composite/record/#record-syntax)
|
||||
to statically define a record, Flux knows the record type and what keys to expect.
|
||||
|
||||
- If the key exists in the static record, `exists` returns `true`.
|
||||
|
|
|
@ -164,13 +164,13 @@ gpg: key 7C3D57159FC2F927: public key "InfluxData Package Signing Key <support@i
|
|||
<!--test:setup
|
||||
```sh
|
||||
curl --silent --location --output-dir ~/Downloads -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" \
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" \
|
||||
```
|
||||
-->
|
||||
|
||||
```sh
|
||||
curl --silent --location \
|
||||
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz.asc \
|
||||
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz.asc \
|
||||
| gpg --verify - ~/Downloads/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz \
|
||||
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
|
||||
```
|
||||
|
@ -239,12 +239,12 @@ brew install influxdb
|
|||
|
||||
1. In your browser or your terminal, download the InfluxDB package.
|
||||
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" download>InfluxDB v2 (macOS)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz" download>InfluxDB v2 (macOS)</a>
|
||||
|
||||
```sh
|
||||
# Download using cURL
|
||||
curl --location -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz"
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_darwin_amd64.tar.gz"
|
||||
```
|
||||
|
||||
2. {{< req text="Recommended:" color="magenta" >}}: Verify the integrity of the download--for example, enter the
|
||||
|
@ -443,18 +443,18 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
1. In your browser or your terminal, download the InfluxDB binary for your
|
||||
system architecture (AMD64 or ARM).
|
||||
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz" download >InfluxDB v2 (amd64)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz" download >InfluxDB v2 (arm)</a>
|
||||
|
||||
<!--test:actual
|
||||
```sh
|
||||
curl -s --location -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz"
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz"
|
||||
```
|
||||
|
||||
```sh
|
||||
curl -s --location -O \
|
||||
"https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz"
|
||||
"https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz"
|
||||
```
|
||||
-->
|
||||
|
||||
|
@ -463,7 +463,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
```sh
|
||||
# Use curl to download the amd64 binary.
|
||||
curl --location -O \
|
||||
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
|
||||
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz
|
||||
```
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
|
@ -471,7 +471,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
```sh
|
||||
# Use curl to download the arm64 binary.
|
||||
curl --location -O \
|
||||
https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
|
||||
https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz
|
||||
```
|
||||
|
||||
2. [Choose the InfluxData key-pair for your OS version](#choose-the-influxdata-key-pair-for-your-system).
|
||||
|
@ -505,7 +505,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
| grep 'InfluxData Package Signing Key <support@influxdata.com>' \
|
||||
&&
|
||||
# Download and verify the binary's signature file
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc" \
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz.asc" \
|
||||
| gpg --verify - influxdb2-{{< latest-patch >}}_linux_amd64.tar.gz \
|
||||
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
|
||||
```
|
||||
|
@ -519,7 +519,7 @@ _If necessary, adjust the example file paths and utilities for your system._
|
|||
| grep 'InfluxData Package Signing Key <support@influxdata.com>' \
|
||||
&&
|
||||
# Download and verify the binary's signature file
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz.asc" \
|
||||
curl --silent --location "https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz.asc" \
|
||||
| gpg --verify - influxdb2-{{< latest-patch >}}_linux_arm64.tar.gz \
|
||||
2>&1 | grep 'InfluxData Package Signing Key <support@influxdata.com>'
|
||||
```
|
||||
|
@ -618,7 +618,7 @@ chmod 0750 ~/.influxdbv2
|
|||
>
|
||||
> _You'll install the `influx CLI` in a [later step](#download-install-and-configure-the-influx-cli)._
|
||||
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
|
||||
<a class="btn download" href="https://download.influxdata.com/influxdb/releases/v{{< latest-patch >}}/influxdb2-{{< latest-patch >}}-windows.zip" download >InfluxDB v2 (Windows)</a>
|
||||
|
||||
Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename the
|
||||
files if desired.
|
||||
|
|
|
@ -2744,6 +2744,61 @@ storage-validate-keys = true
|
|||
|
||||
---
|
||||
|
||||
### storage-wal-flush-on-shutdown
|
||||
Flush the WAL on shutdown.
|
||||
|
||||
**Default:** `false`
|
||||
|
||||
| influxd flag | Environment variable | Configuration key |
|
||||
| :------------------------------ | :------------------------------------ | :---------------------------- |
|
||||
| `--storage-wal-flush-on-shutdown` | `INFLUXD_STORAGE_WAL_FLUSH_ON_SHUTDOWN` | `storage-wal-flush-on-shutdown` |
|
||||
|
||||
If set, `influxd` flushes or snapshots all WALs prior to completing shutdown--`influxd` performs cache snapshots on shutdown, which
|
||||
results in the WAL files being written to TSM files and then deleted.
|
||||
|
||||
This is useful in upgrade and downgrade scenarios to prevent WAL format
|
||||
compatibility issues.
|
||||
|
||||
###### influxd flag
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
```sh
|
||||
influxd --storage-wal-flush-on-shutdown
|
||||
```
|
||||
|
||||
###### Environment variable
|
||||
```sh
|
||||
export INFLUXD_STORAGE_WAL_FLUSH_ON_SHUTDOWN=true
|
||||
```
|
||||
|
||||
###### Configuration file
|
||||
{{< code-tabs-wrapper >}}
|
||||
{{% code-tabs %}}
|
||||
[YAML](#)
|
||||
[TOML](#)
|
||||
[JSON](#)
|
||||
{{% /code-tabs %}}
|
||||
{{% code-tab-content %}}
|
||||
```yml
|
||||
storage-wal-flush-on-shutdown: true
|
||||
```
|
||||
{{% /code-tab-content %}}
|
||||
{{% code-tab-content %}}
|
||||
```toml
|
||||
storage-wal-flush-on-shutdown = true
|
||||
```
|
||||
{{% /code-tab-content %}}
|
||||
{{% code-tab-content %}}
|
||||
```json
|
||||
{
|
||||
"storage-wal-flush-on-shutdown": true
|
||||
}
|
||||
```
|
||||
{{% /code-tab-content %}}
|
||||
{{< /code-tabs-wrapper >}}
|
||||
|
||||
---
|
||||
|
||||
### storage-wal-fsync-delay
|
||||
Duration a write will wait before fsyncing.
|
||||
A duration greater than `0` batches multiple fsync calls.
|
||||
|
|
|
@ -8,6 +8,27 @@ menu:
|
|||
weight: 101
|
||||
---
|
||||
|
||||
## v2.7.12 {date="2025-05-20"}
|
||||
|
||||
### Features
|
||||
|
||||
- Add a `--pid-file` option to write a PID file to the specified location on startup. InfluxDB removes the PID file on shutdown.
|
||||
- Add a `--storage-wal-flush-on-shutdown` option to flush the WAL on database shutdown to ensure all data is written to disk.
|
||||
- Improve response error messages for dropped points, adding details including database, retention policy, and which bound was violated for partial writes.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix a locking issue in `TagValueIterator` that could cause reads and writes in buckets to block. [PR #26414](https://github.com/influxdata/influxdb/pull/26414)
|
||||
|
||||
### Maintenance
|
||||
|
||||
- Improved startup logging with an "are we there yet" counter for the number and percentage of shards opened.
|
||||
- Update Go to 1.23.9.
|
||||
- Update Flux to v0.196.1.
|
||||
- Refresh dependencies to address security vulnerabilities and improve stability.
|
||||
|
||||
---
|
||||
|
||||
## v2.7.11 {date="2024-12-02"}
|
||||
|
||||
### Features
|
||||
|
@ -606,7 +627,7 @@ to migrate InfluxDB key-value metadata schemas to earlier 2.x versions when nece
|
|||
#### Flux
|
||||
|
||||
- Update to [Flux v0.139.0](/flux/v0/release-notes/#v01390).
|
||||
- Enable writing to remote hosts using the Flux [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) and [`experimental.to()`](/flux/v0/v0.x/stdlib/experimental/to/) functions.
|
||||
- Enable writing to remote hosts using the Flux [`to()`](/flux/v0/stdlib/influxdata/influxdb/to/) and [`experimental.to()`](/flux/v0/stdlib/experimental/to/) functions.
|
||||
- Flux now supports locations that dynamically modify time offsets based on your specified timezone. You can also specify fixed time offsets relative to UTC.
|
||||
- Perform [bitwise operations](/flux/v0/stdlib/experimental/bitwise/)
|
||||
on integers and unsigned integers.
|
||||
|
@ -1118,7 +1139,7 @@ Highlights include:
|
|||
|
||||
- Support for **upgrading to InfluxDB 2.0**:
|
||||
- To upgrade **from InfluxDB 1.x**, see [Upgrade from InfluxDB 1.x to InfluxDB 2.0](/influxdb/v2/upgrade/v1-to-v2).
|
||||
- To upgrade **from InfluxDB 2.0 beta 16 or earlier**, see [Upgrade from InfluxDB 2.0 beta to InfluxDB 2.0](/influxdb/v2/upgrade/v2-beta-to-v2).
|
||||
- To upgrade **from InfluxDB 2.0 beta 16 or earlier**, see [Upgrade from InfluxDB 2.0 beta to InfluxDB 2.0](/influxdb/v2/install/upgrade/v2-beta-to-v2/).
|
||||
- **Flux**, our powerful new functional data scripting language designed for querying, analyzing, and acting on data. This release includes [Flux v0.94.0](/flux/v0/release-notes/#v0940). If you're new to Flux, [check out how to get started with Flux](/influxdb/v2/query-data/get-started/). Next, delve deeper into the [Flux standard library](/flux/v0/stdlib//) reference docs and see how to [query with Flux](/influxdb/v2/query-data/flux/).
|
||||
- Support for [InfluxDB 1.x API compatibility](/influxdb/v2/reference/api/influxdb-1x/).
|
||||
- **Templates** and **stacks**. Discover how to [use community templates](/influxdb/v2/tools/influxdb-templates/use/) and how to [manage templates with stacks](/influxdb/v2/tools/influxdb-templates/stacks/).
|
||||
|
@ -1241,14 +1262,14 @@ If you're new to InfluxDB 2.0, we recommend checking out [how to get started](/i
|
|||
{{% warn %}}
|
||||
#### Manual upgrade required
|
||||
|
||||
To simplify the migration for existing users of InfluxDB 1.x, this release includes significant breaking changes that require a manual upgrade from all alpha and beta versions. For more information, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/upgrade/v2-beta-to-v2/),
|
||||
To simplify the migration for existing users of InfluxDB 1.x, this release includes significant breaking changes that require a manual upgrade from all alpha and beta versions. For more information, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/install/upgrade/v2-beta-to-v2/),
|
||||
{{% /warn %}}
|
||||
|
||||
### Breaking changes
|
||||
|
||||
#### Manual upgrade
|
||||
|
||||
- To continue using data from InfluxDB 2.0 beta 16 or earlier, you must move all existing data out of the `~/.influxdbv2` (or equivalent) path, including `influxd.bolt`. All existing dashboards, tasks, integrations, alerts, users, and tokens must be recreated. For information on how to migrate your data, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/upgrade/v2-beta-to-v2/).
|
||||
- To continue using data from InfluxDB 2.0 beta 16 or earlier, you must move all existing data out of the `~/.influxdbv2` (or equivalent) path, including `influxd.bolt`. All existing dashboards, tasks, integrations, alerts, users, and tokens must be recreated. For information on how to migrate your data, see [Upgrade to InfluxDB OSS 2.0rc](/influxdb/v2/install/upgrade/v2-beta-to-v2/).
|
||||
|
||||
#### Port update to 8086
|
||||
|
||||
|
@ -2045,7 +2066,7 @@ _**This will remove all data from your InfluxDB v2.0 instance including time ser
|
|||
|
||||
###### Linux and macOS
|
||||
```sh
|
||||
rm ~/.influxdbv2/influxd.bolt
|
||||
rm -f ~/.influxdbv2/influxd.bolt
|
||||
```
|
||||
|
||||
Once completed, `v2.0.0-alpha.6` can be started.
|
||||
|
@ -2079,7 +2100,7 @@ run the following command.
|
|||
|
||||
###### Linux and macOS
|
||||
```sh
|
||||
rm -r ~/.influxdbv2/engine
|
||||
rm -rf ~/.influxdbv2/engine
|
||||
```
|
||||
|
||||
Once completed, InfluxDB v2.0.0-alpha.5 can be started.
|
||||
|
|
|
@ -13,312 +13,9 @@ related:
|
|||
- /influxdb/v2/api/#tag/Write, InfluxDB API /write endpoint
|
||||
- /influxdb/v2/reference/internals
|
||||
- /influxdb/v2/reference/cli/influx/write
|
||||
source: /shared/influxdb-v2/write-data/troubleshoot.md
|
||||
---
|
||||
Learn how to avoid unexpected results and recover from errors when writing to InfluxDB.
|
||||
|
||||
{{% show-in "v2" %}}
|
||||
|
||||
- [Handle `write` and `delete` responses](#handle-write-and-delete-responses)
|
||||
- [Troubleshoot failures](#troubleshoot-failures)
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "cloud,cloud-serverless" %}}
|
||||
|
||||
- [Handle `write` and `delete` responses](#handle-write-and-delete-responses)
|
||||
- [Troubleshoot failures](#troubleshoot-failures)
|
||||
- [Troubleshoot rejected points](#troubleshoot-rejected-points)
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
## Handle `write` and `delete` responses
|
||||
|
||||
{{% show-in "cloud,cloud-serverless" %}}
|
||||
|
||||
In InfluxDB Cloud, writes and deletes are asynchronous and eventually consistent.
|
||||
Once InfluxDB validates your request and [queues](/influxdb/cloud/reference/internals/durability/#backup-on-write) the write or delete, it sends a _success_ response (HTTP `204` status code) as an acknowledgement.
|
||||
To ensure that InfluxDB handles writes and deletes in the order you request them, wait for the acknowledgement before you send the next request.
|
||||
Because writes are asynchronous, keep the following in mind:
|
||||
|
||||
- Data might not yet be queryable when you receive _success_ (HTTP `204` status code).
|
||||
- InfluxDB may still reject points after you receive _success_ (HTTP `204` status code).
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "v2" %}}
|
||||
|
||||
If InfluxDB OSS successfully writes all the request data to the bucket, InfluxDB returns _success_ (HTTP `204` status code).
|
||||
The first rejected point in a batch causes InfluxDB to reject the entire batch and respond with an [HTTP error status](#review-http-status-codes).
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
### Review HTTP status codes
|
||||
|
||||
InfluxDB uses conventional HTTP status codes to indicate the success or failure of a request.
|
||||
Write requests return the following status codes:
|
||||
|
||||
{{% show-in "cloud,cloud-serverless" %}}
|
||||
|
||||
| HTTP response code | Message | Description |
|
||||
| :-------------------------------| :--------------------------------------------------------------- | :------------- |
|
||||
| `204 "Success"` | | If InfluxDB validated the request data format and queued the data for writing to the bucket |
|
||||
| `400 "Bad request"` | `message` contains the first malformed line | If data is malformed |
|
||||
| `401 "Unauthorized"` | | If the [`Authorization: Token` header](/influxdb/cloud/api-guide/api_intro/#authentication) is missing or malformed or if the [API token](/influxdb/cloud/api-guide/api_intro/#authentication) doesn't have [permission](/influxdb/cloud/admin/tokens/) to write to the bucket |
|
||||
| `404 "Not found"` | requested **resource type**, e.g. "organization", and **resource name** | If a requested resource (e.g. organization or bucket) wasn't found |
|
||||
| `413 “Request too large”` | cannot read data: points in batch is too large | If a **write** request exceeds the maximum [global limit](/influxdb/cloud/account-management/limits/#global-limits) |
|
||||
| `429 “Too many requests”` | `Retry-After` header: xxx (seconds to wait before retrying the request) | If a **read** or **write** request exceeds your plan's [adjustable service quotas](/influxdb/cloud/account-management/limits/#adjustable-service-quotas) or if a **delete** request exceeds the maximum [global limit](/influxdb/cloud/account-management/limits/#global-limits) |
|
||||
| `500 "Internal server error"` | | Default status for an error |
|
||||
| `503 “Service unavailable“` | Series cardinality exceeds your plan's service quota | If **series cardinality** exceeds your plan's [adjustable service quotas](/influxdb/cloud/account-management/limits/#adjustable-service-quotas) |
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "v2" %}}
|
||||
|
||||
- `204` **Success**: All request data was written to the bucket.
|
||||
- `400` **Bad request**: The [line protocol](/influxdb/v2/reference/syntax/line-protocol/) data in the request was malformed.
|
||||
The response body contains the first malformed line in the data. All request data was rejected and not written.
|
||||
- `401` **Unauthorized**: May indicate one of the following:
|
||||
- [`Authorization: Token` header](/influxdb/v2/api-guide/api_intro/#authentication) is missing or malformed.
|
||||
- [API token](/influxdb/v2/api-guide/api_intro/#authentication) value is missing from the header.
|
||||
- API token does not have sufficient permissions to write to the organization and the bucket. For more information about token types and permissions, see [Manage API tokens](/influxdb/v2/admin/tokens/).
|
||||
- `404` **Not found**: A requested resource (e.g. an organization or bucket) was not found. The response body contains the requested resource type, e.g. "organization", and resource name.
|
||||
- `413` **Request entity too large**: All request data was rejected and not written. InfluxDB OSS only returns this error if the [Go (golang) `ioutil.ReadAll()`](https://pkg.go.dev/io/ioutil#ReadAll) function raises an error.
|
||||
- `500` **Internal server error**: Default HTTP status for an error.
|
||||
- `503` **Service unavailable**: Server is temporarily unavailable to accept writes. The `Retry-After` header describes when to try the write again.
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
The `message` property of the response body may contain additional details about the error.
|
||||
If some of your data did not write to the bucket, see how to [troubleshoot rejected points](#troubleshoot-rejected-points).
|
||||
|
||||
{{% show-in "cloud,cloud-serverless" %}}
|
||||
|
||||
### Troubleshoot partial writes
|
||||
|
||||
Because writes are asynchronous, they may fail partially or completely even though InfluxDB returns an HTTP `2xx` status code for a valid request.
|
||||
For example, a partial write may occur when InfluxDB writes all points that conform to the bucket schema, but rejects points that have the wrong data type in a field.
|
||||
To check for writes that fail asynchronously, create a [task](/influxdb/cloud/process-data/manage-tasks/) to [check the _monitoring bucket for rejected points](#review-rejected-points).
|
||||
To resolve partial writes and rejected points, see [troubleshoot failures](#troubleshoot-failures).
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
## Troubleshoot failures
|
||||
|
||||
{{% show-in "v2" %}}
|
||||
|
||||
If you notice data is missing in your bucket, do the following:
|
||||
|
||||
- Check the `message` property in the response body for details about the error.
|
||||
- If the `message` describes a field error, [troubleshoot rejected points](#troubleshoot-rejected-points).
|
||||
- Verify all lines contain valid syntax ([line protocol](/influxdb/v2/reference/syntax/line-protocol/) or [CSV](/influxdb/v2/reference/syntax/annotated-csv/)).
|
||||
- Verify the timestamps match the [precision parameter](/influxdb/v2/write-data/#timestamp-precision).
|
||||
- Minimize payload size and network errors by [optimizing writes](/influxdb/v2/write-data/best-practices/optimize-writes/).
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "cloud,cloud-serverless" %}}
|
||||
If you notice data is missing in your bucket, do the following:
|
||||
|
||||
- Check the `message` property in the response body for details about the error--for example, `partial write error` indicates [rejected points](#troubleshoot-rejected-points).
|
||||
- Check for [rejected points](#troubleshoot-rejected-points) in your organization's `_monitoring` bucket.
|
||||
- Verify all lines contain valid syntax ([line protocol](/influxdb/cloud/reference/syntax/line-protocol/) or [CSV](/influxdb/cloud/reference/syntax/annotated-csv/)). See how to [find parsing errors](#find-parsing-errors).
|
||||
- Verify the data types match the [series](/influxdb/cloud/reference/key-concepts/data-elements/#series) or [bucket schema](/influxdb/cloud/admin/buckets/bucket-schema/). See how to resolve [explicit schema rejections](#resolve-explicit-schema-rejections).
|
||||
- Verify the timestamps match the [precision parameter](/influxdb/cloud/write-data/#timestamp-precision).
|
||||
- Minimize payload size and network errors by [optimizing writes](/influxdb/cloud/write-data/best-practices/optimize-writes/).
|
||||
{{% /show-in %}}
|
||||
|
||||
## Troubleshoot rejected points
|
||||
|
||||
{{% show-in "v2" %}}
|
||||
|
||||
InfluxDB rejects points for the following reasons:
|
||||
|
||||
- The **batch** contains another point with the same series, but one of the fields has a different value type.
|
||||
- The **bucket** contains another point with the same series, but one of the fields has a different value type.
|
||||
|
||||
Check for [field type](/influxdb/v2/reference/key-concepts/data-elements/#field-value) differences between the missing data point and other points that have the same [series](/influxdb/v2/reference/key-concepts/data-elements/#series)--for example, did you attempt to write `string` data to an `int` field?
|
||||
|
||||
{{% /show-in %}}
|
||||
|
||||
{{% show-in "cloud,cloud-serverless" %}}
|
||||
|
||||
InfluxDB may have rejected points even if the HTTP request returned "Success".
|
||||
InfluxDB logs rejected data points and associated errors to your organization's `_monitoring` bucket.
|
||||
|
||||
- [Review rejected points](#review-rejected-points)
|
||||
- [Find parsing errors](#find-parsing-errors)
|
||||
- [Find data type conflicts and schema rejections](#find-data-type-conflicts-and-schema-rejections)
|
||||
- [Resolve data type conflicts](#resolve-data-type-conflicts)
|
||||
- [Resolve explicit schema rejections](#resolve-explicit-schema-rejections)
|
||||
|
||||
### Review rejected points
|
||||
|
||||
To get a log of rejected points, query the [`rejected_points` measurement](/influxdb/cloud/reference/internals/system-buckets/#_monitoring-bucket-schema) in your organization's `_monitoring` bucket.
|
||||
To more quickly locate `rejected_points`, keep the following in mind:
|
||||
|
||||
- If your line protocol batch contains single lines with multiple [fields](/influxdb/cloud/reference/syntax/line-protocol/#field-set), InfluxDB logs an entry for each point (each unique field) that is rejected.
|
||||
- Each entry contains a `reason` tag that describes why the point was rejected.
|
||||
- Entries for [data type conflicts and schema rejections](#find-data-type-conflicts-and-schema-rejections) have a `count` field value of `1`.
|
||||
- Entries for [parsing errors](#find-parsing-errors) contain an `error` field (and don't contain a `count` field).
|
||||
|
||||
#### rejected_points schema
|
||||
|
||||
| Name | Value |
|
||||
|:------ |:----- |
|
||||
| `_measurement`| `rejected_points` |
|
||||
| `_field` | [`count`](#find-data-type-conflicts-and-schema-rejections) or [`error`](#find-parsing-errors) |
|
||||
| `_value` | [`1`](#find-data-type-conflicts-and-schema-rejections) or [error details](#find-parsing-errors) |
|
||||
| `bucket` | ID of the bucket that rejected the point |
|
||||
| `measurement` | Measurement name of the point |
|
||||
| `field` | Name of the field that caused the rejection |
|
||||
| `reason` | Brief description of the problem. See specific reasons in [data type conflicts and schema rejections](#find-data-type-conflicts-and-schema-rejections) |
|
||||
| `gotType` | Received [field](/influxdb/cloud/reference/key-concepts/data-elements/#field-value) type: `Boolean`, `Float`, `Integer`, `String`, or `UnsignedInteger` |
|
||||
| `wantType` | Expected [field](/influxdb/cloud/reference/key-concepts/data-elements/#field-value) type: `Boolean`, `Float`, `Integer`, `String`, or `UnsignedInteger` |
|
||||
| `<timestamp>` | Time the rejected point was logged |
|
||||
|
||||
#### Find parsing errors
|
||||
|
||||
If InfluxDB can't parse a line (e.g. due to syntax problems), the response `message` might not provide details.
|
||||
To find parsing error details, query `rejected_points` entries that contain the `error` field.
|
||||
|
||||
```js
|
||||
from(bucket: "_monitoring")
|
||||
|> range(start: -1h)
|
||||
|> filter(fn: (r) => r._measurement == "rejected_points")
|
||||
|> filter(fn: (r) => r._field == "error")
|
||||
```
|
||||
|
||||
#### Find data type conflicts and schema rejections
|
||||
|
||||
To find `rejected_points` caused by [data type conflicts](#resolve-data-type-conflicts) or [schema rejections](#resolve-explicit-schema-rejections),
|
||||
query for the `count` field.
|
||||
|
||||
```js
|
||||
from(bucket: "_monitoring")
|
||||
|> range(start: -1h)
|
||||
|> filter(fn: (r) => r._measurement == "rejected_points")
|
||||
|> filter(fn: (r) => r._field == "count")
|
||||
```
|
||||
|
||||
### Resolve data type conflicts
|
||||
|
||||
When you write to a bucket that has the `implicit` schema type, InfluxDB compares new points to points that have the same [series](/influxdb/cloud/reference/key-concepts/data-elements/#series).
|
||||
If a point has a field with a different data type than the series, InfluxDB rejects the point and logs a `rejected_points` entry.
|
||||
The `rejected_points` entry contains one of the following reasons:
|
||||
|
||||
| Reason | Meaning |
|
||||
|:------ |:------- |
|
||||
| `type conflict in batch write` | The **batch** contains another point with the same series, but one of the fields has a different value type. |
|
||||
| `type conflict with existing data` | The **bucket** contains another point with the same series, but one of the fields has a different value type. |
|
||||
|
||||
### Resolve explicit schema rejections
|
||||
|
||||
If you write to a bucket with an
|
||||
[explicit schema](/influxdb/cloud/admin/buckets/bucket-schema/),
|
||||
the data must conform to the schema. Otherwise, InfluxDB rejects the data.
|
||||
|
||||
Do the following to interpret explicit schema rejections:
|
||||
|
||||
- [Detect a measurement mismatch](#detect-a-measurement-mismatch)
|
||||
- [Detect a field type mismatch](#detect-a-field-type-mismatch)
|
||||
|
||||
#### Detect a measurement mismatch
|
||||
|
||||
InfluxDB rejects a point if the [measurement](/influxdb/cloud/reference/key-concepts/data-elements/#measurement) doesn't match the **name** of a [bucket schema](/influxdb/cloud/admin/buckets/bucket-schema/).
|
||||
The `rejected_points` entry contains the following `reason` tag value:
|
||||
|
||||
| Reason | Meaning |
|
||||
|:------ |:-------
|
||||
| `measurement not allowed by schema` | The **bucket** is configured to use explicit schemas and none of the schemas matches the **measurement** of the point. |
|
||||
|
||||
Consider the following [line protocol](/influxdb/cloud/reference/syntax/line-protocol) data.
|
||||
|
||||
```
|
||||
airSensors,sensorId=TLM0201 temperature=73.97,humidity=35.23,co=0.48 1637014074
|
||||
```
|
||||
|
||||
The line has an `airSensors` measurement and three fields (`temperature`, `humidity`, and `co`).
|
||||
If you try to write this data to a bucket that has the [`explicit` schema type](/influxdb/cloud/admin/buckets/bucket-schema/) and doesn't have an `airSensors` schema, the `/api/v2/write` InfluxDB API returns an error and the following data:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "invalid",
|
||||
"message": "3 out of 3 points rejected (check rejected_points in your _monitoring bucket for further information)"
|
||||
}
|
||||
```
|
||||
|
||||
InfluxDB logs three `rejected_points` entries, one for each field.
|
||||
|
||||
| _measurement | _field | _value | field | measurement | reason |
|
||||
|:----------------|:-------|:-------|:------------|:------------|:----------------------------------|
|
||||
| rejected_points | count | 1 | humidity | airSensors | measurement not allowed by schema |
|
||||
| rejected_points | count | 1 | co | airSensors | measurement not allowed by schema |
|
||||
| rejected_points | count | 1 | temperature | airSensors | measurement not allowed by schema |
|
||||
|
||||
#### Detect a field type mismatch
|
||||
|
||||
InfluxDB rejects a point if the [measurement](/influxdb/cloud/reference/key-concepts/data-elements/#measurement) matches the **name** of a bucket schema and the field data types don't match.
|
||||
The `rejected_points` entry contains the following reason:
|
||||
|
||||
| Reason | Meaning |
|
||||
|:------------------------------------|:-----------------------------------------------------------------------------------------------------|
|
||||
| `field type mismatch with schema` | The point has the same measurement as a configured schema and they have different field value types. |
|
||||
|
||||
Consider a bucket that has the following `airSensors` [`explicit bucket schema`](/influxdb/cloud/admin/buckets/bucket-schema/):
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "airSensors",
|
||||
"columns": [
|
||||
{
|
||||
"name": "time",
|
||||
"type": "timestamp"
|
||||
},
|
||||
{
|
||||
"name": "sensorId",
|
||||
"type": "tag"
|
||||
},
|
||||
{
|
||||
"name": "temperature",
|
||||
"type": "field",
|
||||
"dataType": "float"
|
||||
},
|
||||
{
|
||||
"name": "humidity",
|
||||
"type": "field",
|
||||
"dataType": "float"
|
||||
},
|
||||
{
|
||||
"name": "co",
|
||||
"type": "field",
|
||||
"dataType": "float"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
The following [line protocol](/influxdb/cloud/reference/syntax/line-protocol/) data has an `airSensors` measurement, a `sensorId` tag, and three fields (`temperature`, `humidity`, and `co`).
|
||||
|
||||
```
|
||||
airSensors,sensorId=L1 temperature=90.5,humidity=70.0,co=0.2 1637014074
|
||||
airSensors,sensorId=L1 temperature="90.5",humidity=70.0,co=0.2 1637014074
|
||||
```
|
||||
|
||||
In the example data above, the second point has a `temperature` field value with the _string_ data type.
|
||||
Because the `airSensors` schema requires `temperature` to have the _float_ data type,
|
||||
InfluxDB returns a `400` error and a message that describes the result:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "invalid",
|
||||
"message": "partial write error (5 accepted): 1 out of 6 points rejected (check rejected_points in your _monitoring bucket for further information)"
|
||||
}
|
||||
```
|
||||
|
||||
InfluxDB logs the following `rejected_points` entry to the `_monitoring` bucket:
|
||||
|
||||
| _measurement | _field | _value | bucket | field | gotType | measurement | reason | wantType |
|
||||
|:------------------|:-------|:-------|:-------------------|:--------------|:---------|:------------|:----------------------------------|:---------|
|
||||
| rejected_points | count | 1 | a7d5558b880a93da | temperature | String | airSensors | field type mismatch with schema | Float |
|
||||
|
||||
{{% /show-in %}}
|
||||
<!-- The content of this file is at
|
||||
// SOURCE content/shared/influxdb-v2/write-data/troubleshoot.md
|
||||
-->
|
|
@ -18,7 +18,7 @@ The InfluxDB time series platform is designed to handle high write and query loa
|
|||
Learn how to use and leverage InfluxDB Cloud Dedicated for your specific
|
||||
time series use case.
|
||||
|
||||
<a class="btn" href="{{< cta-link >}}">Request an InfluxDB Cloud Dedicated cluster</a>
|
||||
<a class="btn" href="{{< cta-link >}}">Run an {{% product-name %}} proof of concept (PoC)</a>
|
||||
<a class="btn" href="/influxdb3/cloud-dedicated/get-started/">Get started with InfluxDB Cloud Dedicated</a>
|
||||
|
||||
## InfluxDB 3
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
title: View account information
|
||||
seotitle: View {{% product-name %}} account information
|
||||
description: >
|
||||
Use the Admin UI for {{% product-name %}} to view information for your {{% product-name omit="InfluxDB " %}} account.
|
||||
Your {{% product-name %}} account is a collection of {{% product-name omit="Clustered "%}} clusters and associated resources.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Administer InfluxDB Cloud
|
||||
weight: 99
|
||||
influxdb3/cloud-dedicated/tags: [clusters]
|
||||
---
|
||||
|
||||
Use the Admin UI for {{% product-name %}} to view information for your {{% product-name omit="InfluxDB " %}} account.
|
||||
Your {{% product-name %}} account is a collection of {{% product-name omit="Clustered "%}} clusters and associated resources.
|
||||
|
||||
- [Access the Admin UI](#access-the-admin-ui)
|
||||
- [View account information](#view-account-information)
|
||||
- [View cluster information](#view-cluster-information)
|
||||
- [Access operational dashboards](#access-operational-dashboards)
|
||||
- [Administer management tokens](#administer-management-tokens)
|
||||
|
||||
## Access the Admin UI
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
## View account information
|
||||
|
||||
After you log in to the Admin UI, the Account Management portal displays the following information about your account:
|
||||
|
||||
- Account ID
|
||||
- Contract status
|
||||
- Contract start date
|
||||
- The [list of clusters](/influxdb3/cloud-dedicated/admin/clusters/list/?t=admin-ui) associated with the account
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-account-info.png" alt="InfluxDB Cloud Dedicated Admin UI account information" />}}
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Get cluster information
|
||||
description: >
|
||||
Use the
|
||||
Use the Admin UI or the
|
||||
[`influxctl cluster get <CLUSTER_ID>` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/cluster/get/) to view information about your InfluxDB Cloud Dedicated cluster.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
|
@ -13,8 +13,55 @@ list_code_example: |
|
|||
```
|
||||
---
|
||||
|
||||
Use the [`influxctl cluster get` CLI command](/influxdb3/cloud-dedicated/reference/cli/influxctl/get/)
|
||||
to view information about your {{< product-name omit=" Clustered" >}} cluster.
|
||||
Use the Admin UI or the [`influxctl cluster get` CLI command](/influxdb3/cloud-dedicated/reference/cli/influxctl/get/) to view information about your
|
||||
{{< product-name omit=" Clustered" >}} cluster, including:
|
||||
|
||||
- Cluster ID
|
||||
- Cluster name
|
||||
- Cluster URL
|
||||
- Cluster status
|
||||
- Cluster size (standard or custom)
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
## Access the Cloud Dedicated Admin UI
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and lists all clusters associated with your account.
|
||||
3. **Search** for the cluster or use the sort button and column headers to sort the cluster list and find the cluster.
|
||||
|
||||
### View cluster details
|
||||
|
||||
The cluster list displays the following cluster details:
|
||||
|
||||
- Cluster ID and name
|
||||
- Status (ready, provisioning, etc.)
|
||||
- Size (standard or custom)
|
||||
- URL endpoint
|
||||
|
||||
### Cluster management tools
|
||||
|
||||
The options button (3 vertical dots) to the right of any cluster provides additional tools for cluster management:
|
||||
|
||||
- Copy Cluster ID
|
||||
- Copy Cluster URL
|
||||
- Observe in Grafana _(only if your cluster has enabled operational dashboards. For more information, see how to [monitor your cluster](/influxdb3/cloud-dedicated/admin/monitor-your-cluster/).)_
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl), and then [configure a connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster.
|
||||
2. Run `influxctl cluster get` with the following:
|
||||
|
@ -74,3 +121,5 @@ The output is the cluster as a JSON object that includes additional fields such
|
|||
"category": 1
|
||||
}
|
||||
```
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: List clusters
|
||||
description: >
|
||||
Use the [`influxctl cluster list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/cluster/list/)
|
||||
Use the Admin UI or the [`influxctl cluster list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/cluster/list/)
|
||||
to view information about InfluxDB Cloud Dedicated clusters associated with your account ID.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
|
@ -15,10 +15,45 @@ aliases:
|
|||
- /influxdb3/cloud-dedicated/admin/clusters/list/
|
||||
---
|
||||
|
||||
Use the [`influxctl cluster list` CLI command](/influxdb3/cloud-dedicated/reference/cli/influxctl/list/)
|
||||
view information about all {{< product-name omit=" Clustered" >}} clusters associated with your account ID.
|
||||
Use the Admin UI or the [`influxctl cluster list` CLI command](/influxdb3/cloud-dedicated/reference/cli/influxctl/list/)
|
||||
to view information about all {{< product-name omit=" Clustered" >}} clusters associated with your account ID.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
## Access the Cloud Dedicated Admin UI
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and lists all clusters associated with your account.
|
||||
3. You can **Search** clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
|
||||
### View cluster details
|
||||
|
||||
The cluster list displays the following cluster details:
|
||||
|
||||
- Cluster ID and name
|
||||
- Status (ready, provisioning, etc.)
|
||||
- Size (standard or custom)
|
||||
- URL endpoint
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
## Use the CLI
|
||||
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl), and then [configure a connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster.
|
||||
|
||||
2. Run `influxctl cluster list` with the following:
|
||||
|
||||
- _Optional_: [Output format](#output-formats)
|
||||
|
@ -69,3 +104,6 @@ The output is a JSON array of cluster objects that include additional fields suc
|
|||
}
|
||||
]
|
||||
```
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
|
|
|
@ -14,5 +14,6 @@ source: /shared/v3-distributed-admin-custom-partitions/define-custom-partitions.
|
|||
---
|
||||
|
||||
<!--
|
||||
The content of this page is at /content/shared/v3-distributed-admin-custom-partitions/_define-custom-partitions.md
|
||||
The content of this page is at
|
||||
//SOURCE - content/shared/v3-distributed-admin-custom-partitions/define-custom-partitions.md
|
||||
-->
|
||||
|
|
|
@ -52,7 +52,7 @@ never be removed by the retention enforcement service.
|
|||
You can customize [table (measurement) limits](#table-limit) and
|
||||
[table column limits](#column-limit) when you
|
||||
[create](#create-a-database) or
|
||||
[update a database](#update-a-database) in {{< product-name >}}.
|
||||
[update a database](#update-a-database) in {{% product-name %}}.
|
||||
|
||||
### Table limit
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
title: Create a database
|
||||
description: >
|
||||
Use the [`influxctl database create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/)
|
||||
Use the Admin UI, the [`influxctl database create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to create a new InfluxDB database in your InfluxDB Cloud Dedicated cluster.
|
||||
Provide a database name and an optional retention period.
|
||||
You can create a database with an optional retention period and custom partitioning.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Manage databases
|
||||
|
@ -12,57 +12,19 @@ weight: 201
|
|||
list_code_example: |
|
||||
<!--pytest.mark.skip-->
|
||||
##### CLI
|
||||
```sh
|
||||
```bash
|
||||
influxctl database create \
|
||||
--retention-period 30d \
|
||||
--max-tables 500 \
|
||||
--max-columns 250 \
|
||||
DATABASE_NAME
|
||||
```
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
##### API
|
||||
```sh
|
||||
```bash
|
||||
curl \
|
||||
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" \
|
||||
--request POST \
|
||||
--header "Accept: application/json" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
|
||||
--data '{
|
||||
"name": "'DATABASE_NAME'",
|
||||
"maxTables": 500,
|
||||
"maxColumnsPerTable": 250,
|
||||
"retentionPeriod": 2592000000000,
|
||||
"partitionTemplate": [
|
||||
{
|
||||
"type": "tag",
|
||||
"value": "TAG_KEY_1"
|
||||
},
|
||||
{
|
||||
"type": "tag",
|
||||
"value": "TAG_KEY_2"
|
||||
},
|
||||
{
|
||||
"type": "bucket",
|
||||
"value": {
|
||||
"tagName": "TAG_KEY_3",
|
||||
"numberOfBuckets": 100
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "bucket",
|
||||
"value": {
|
||||
"tagName": "TAG_KEY_4",
|
||||
"numberOfBuckets": 300
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "time",
|
||||
"value": "%Y-%m-%d"
|
||||
}
|
||||
]
|
||||
}'
|
||||
--json '{ "name": "DATABASE_NAME" }'
|
||||
```
|
||||
related:
|
||||
- /influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/
|
||||
|
@ -70,8 +32,116 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/)
|
||||
Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to create a database in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
You can create a database with an optional retention period and custom partitioning.
|
||||
|
||||
- [Create a database](#create-a-database)
|
||||
- [Create a database with custom partitioning](#create-a-database-with-custom-partitioning)
|
||||
- [Partition template requirements and guidelines](#partition-template-requirements-and-guidelines)
|
||||
- [Database attributes](#database-attributes)
|
||||
- [Retention period syntax](#retention-period-syntax)
|
||||
- [Database naming restrictions](#database-naming-restrictions)
|
||||
- [InfluxQL DBRP naming convention](#influxql-dbrp-naming-convention)
|
||||
- [Table and column limits](#table-and-column-limits)
|
||||
|
||||
## Create a database
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------>
|
||||
1. Open the {{< product-name >}} Admin UI at
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
3. In the cluster list, find and click the cluster you want to create a database in. You
|
||||
can sort on column headers or use the **Search** field to find a specific cluster.
|
||||
|
||||
4. Click the **New Database** button above the database list.
|
||||
The **Create Database** dialog displays.
|
||||
|
||||
<img src="/img/influxdb3/cloud-dedicated-admin-ui-create-database.png" alt="Create database dialog" />
|
||||
|
||||
5. In the **Create Database** dialog, provide the following information:
|
||||
- **Database name**: The name of the database to create. See [Database naming restrictions](#database-naming-restrictions).
|
||||
- **Retention period**: The retention period for the database. See [Retention period syntax](#retention-period-syntax).
|
||||
- **Max tables**: The maximum number of tables (measurements) allowed in the database. Default is 500.
|
||||
- **Max columns per table**: The maximum number of columns allowed in each table (measurement). Default is 250.
|
||||
|
||||
6. Click the **Create Database** button to create the database.
|
||||
The new database displays in the list of databases for the cluster.
|
||||
{{% /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), and then [configure an `influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster.
|
||||
|
||||
2. Run the `influxctl database create` command:
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|30d" %}}
|
||||
```bash
|
||||
influxctl database create \
|
||||
--retention-period 30d \
|
||||
DATABASE_NAME
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}} with your desired database name.
|
||||
{{% /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._
|
||||
|
||||
1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system.
|
||||
2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint:
|
||||
|
||||
{{% api-endpoint method="POST"
|
||||
endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases"
|
||||
api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateClusterDatabase" %}}
|
||||
|
||||
{{% code-placeholders "ACCOUNT_ID|CLUSTER_ID|MANAGEMENT_TOKEN|DATABASE_NAME" %}}
|
||||
```bash
|
||||
curl \
|
||||
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" \
|
||||
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
|
||||
--json '{
|
||||
"name": "DATABASE_NAME"
|
||||
}'
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace the following:
|
||||
|
||||
- {{% 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 %}}: name for the new database
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
Partitioning defaults to `%Y-%m-%d` (daily).
|
||||
|
||||
## Create a database with custom partitioning
|
||||
|
||||
{{< product-name >}} lets you define a [custom partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/) strategy for each database and table.
|
||||
A _partition_ is a logical grouping of data stored in [Apache Parquet](https://parquet.apache.org/)
|
||||
By default, data is partitioned by day,
|
||||
but, depending on your schema and workload, customizing the partitioning
|
||||
strategy can improve query performance.
|
||||
|
||||
To use custom partitioning, you define a [partition template](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/).
|
||||
If a table doesn't have a custom partition template, it inherits the database's template.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
|
@ -79,41 +149,30 @@ or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to crea
|
|||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% 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).
|
||||
2. Use the following `influxctl database create` command flags to specify the
|
||||
[partition template parts](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-part-templates):
|
||||
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
Use the [`influxctl database create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/)
|
||||
to create a database in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
- `--template-timeformat`: A [Rust strftime date and time](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
|
||||
string that specifies the time part in the partition template and determines
|
||||
the time interval to partition by.
|
||||
Use one of the following:
|
||||
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl), and then [configure an `influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster.
|
||||
- `%Y-%m-%d` (daily)
|
||||
- `%Y-%m` (monthly)
|
||||
- `%Y` (annually)
|
||||
- `--template-tag`: An [InfluxDB tag]
|
||||
to use in the partition template.
|
||||
- `--template-tag-bucket`: An [InfluxDB tag](/influxdb3/cloud-dedicated/reference/glossary/#tag)
|
||||
and number of "buckets" to group tag values into.
|
||||
Provide the tag key and the number of buckets to bucket tag values into
|
||||
separated by a comma: `tagKey,N`.
|
||||
|
||||
2. In your terminal, run the `influxctl database create` command and provide the following:
|
||||
|
||||
- _Optional_: Database [retention period](/influxdb3/cloud-dedicated/admin/databases/#retention-periods)
|
||||
Default is `infinite` (`0`).
|
||||
- _Optional_: Database table (measurement) limit. Default is `500`.
|
||||
- _Optional_: Database column limit. Default is `250`.
|
||||
- _Optional_: [InfluxDB tags](/influxdb3/cloud-dedicated/reference/glossary/#tag)
|
||||
to use in the partition template. Limit is 7 total tags or tag buckets.
|
||||
- _Optional_: [InfluxDB tag buckets](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-bucket-part-templates)
|
||||
to use in the partition template. Limit is 7 total tags or tag buckets.
|
||||
- _Optional_: A [Rust strftime date and time string](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
|
||||
that specifies the time format in the partition template and determines
|
||||
the time interval to partition by. Default is `%Y-%m-%d`.
|
||||
- Database name _(see [Database naming restrictions](#database-naming-restrictions))_
|
||||
|
||||
> [!Note]
|
||||
> _{{< product-name >}} supports up to 7 total tags or tag buckets in the partition template._
|
||||
|
||||
<!--Skip tests for database create and delete: namespaces aren't reusable-->
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|30d|500|100|300|(TAG_KEY(_\d)?)" %}}
|
||||
|
||||
```sh
|
||||
{{% code-placeholders "DATABASE_NAME|30d|(TAG_KEY(_\d)?)|100|300" %}}
|
||||
```bash
|
||||
influxctl database create \
|
||||
--retention-period 30d \
|
||||
--max-tables 500 \
|
||||
--max-columns 250 \
|
||||
--template-tag TAG_KEY_1 \
|
||||
--template-tag TAG_KEY_2 \
|
||||
--template-tag-bucket TAG_KEY_3,100 \
|
||||
|
@ -121,233 +180,128 @@ influxctl database create \
|
|||
--template-timeformat '%Y-%m-%d' \
|
||||
DATABASE_NAME
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace the following in your command:
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: your {{% product-name %}} [database](/influxdb3/cloud-dedicated/admin/databases/)
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_1`, `TAG_KEY_2`, `TAG_KEY_3`, and `TAG_KEY_4`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys from your data
|
||||
|
||||
## Database attributes
|
||||
|
||||
- [Database attributes](#database-attributes)
|
||||
- [Retention period syntax (influxctl CLI)](#retention-period-syntax-influxctl-cli)
|
||||
- [Custom partitioning (influxctl CLI)](#custom-partitioning-influxctl-cli)
|
||||
- [Database attributes](#database-attributes-1)
|
||||
- [Retention period syntax (Management API)](#retention-period-syntax-management-api)
|
||||
- [Custom partitioning (Management API)](#custom-partitioning-management-api)
|
||||
- [Database naming restrictions](#database-naming-restrictions)
|
||||
- [InfluxQL DBRP naming convention](#influxql-dbrp-naming-convention)
|
||||
- [Table and column limits](#table-and-column-limits)
|
||||
|
||||
### Retention period syntax (influxctl CLI)
|
||||
|
||||
Use the `--retention-period` flag to define the
|
||||
[retention period](/influxdb3/cloud-dedicated/admin/databases/#retention-periods)
|
||||
for the database.
|
||||
The retention period value is a time duration value made up of a numeric value
|
||||
plus a duration unit.
|
||||
For example, `30d` means 30 days.
|
||||
A zero duration (`0d`) retention period is infinite and data won't expire.
|
||||
The retention period value cannot be negative or contain whitespace.
|
||||
|
||||
{{< flex >}}
|
||||
{{% flex-content "half" %}}
|
||||
|
||||
#### Valid durations units include
|
||||
|
||||
- **m**: minute
|
||||
- **h**: hour
|
||||
- **d**: day
|
||||
- **w**: week
|
||||
- **mo**: month
|
||||
- **y**: year
|
||||
|
||||
{{% /flex-content %}}
|
||||
{{% flex-content "half" %}}
|
||||
|
||||
#### Example retention period values
|
||||
|
||||
- `0d`: infinite/none
|
||||
- `3d`: 3 days
|
||||
- `6w`: 6 weeks
|
||||
- `1mo`: 1 month (30 days)
|
||||
- `1y`: 1 year
|
||||
- `30d30d`: 60 days
|
||||
- `2.5d`: 60 hours
|
||||
|
||||
{{% /flex-content %}}
|
||||
{{< /flex >}}
|
||||
|
||||
### Custom partitioning (influxctl CLI)
|
||||
|
||||
{{< product-name >}} lets you define a custom partitioning strategy for each database.
|
||||
A _partition_ is a logical grouping of data stored in [Apache Parquet](https://parquet.apache.org/)
|
||||
format in the InfluxDB 3 storage engine. By default, data is partitioned by day,
|
||||
but, depending on your schema and workload, customizing the partitioning
|
||||
strategy can improve query performance.
|
||||
|
||||
Use the `--template-tag`, `--template-tag-bucket`, and `--template-timeformat`
|
||||
flags to define partition template parts used to generate partition keys for the database.
|
||||
|
||||
For more information, see [Manage data partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/).
|
||||
|
||||
<!-------------------------------- END INFLUXCTL ------------------------------>
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_1`, `TAG_KEY_2`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys to partition by
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_3`, `TAG_KEY_4`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys for bucketed partitioning
|
||||
- {{% code-placeholder-key %}}`100`, `300`{{% /code-placeholder-key %}}: number of buckets to group tag values into
|
||||
- {{% code-placeholder-key %}}`'%Y-%m-%d'`{{% /code-placeholder-key %}}: [Rust strftime date and time](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates) string that specifies the time part in the partition template
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN cURL ---------------------------------->
|
||||
<!------------------------------- BEGIN MANAGEMENT API --------------->
|
||||
|
||||
_This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client._
|
||||
|
||||
1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system.
|
||||
2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint:
|
||||
|
||||
{{% api-endpoint endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" method="post" api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateClusterDatabase" %}}
|
||||
{{% api-endpoint method="POST"
|
||||
endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases"
|
||||
api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateClusterDatabase" %}}
|
||||
|
||||
In the URL, provide the following credentials:
|
||||
In the request body, include the `partitionTemplate` property and specify the [partition template parts](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-part-templates) as an array of objects--for example:
|
||||
|
||||
- `ACCOUNT_ID`: The ID of the [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that the cluster belongs to _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_.
|
||||
- `CLUSTER_ID`: The ID of the [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that you want to manage _(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))_.
|
||||
|
||||
Provide the following request headers:
|
||||
|
||||
- `Accept: application/json` to ensure the response body is JSON content
|
||||
- `Content-Type: application/json` to indicate the request body is JSON content
|
||||
- `Authorization: Bearer` and a [Management API token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your cluster _(see how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for Management API requests)_.
|
||||
|
||||
In the request body, provide the following parameters:
|
||||
|
||||
- _Optional:_ Database [retention period](/influxdb3/cloud-dedicated/admin/databases/#retention-periods) in nanoseconds.
|
||||
Default is `0` (infinite).
|
||||
- _Optional_: Database table (measurement) limit. Default is `500`.
|
||||
- _Optional_: Database column limit. Default is `250`.
|
||||
- _Optional_: [InfluxDB tags](/influxdb3/cloud-dedicated/reference/glossary/#tag)
|
||||
to use in the partition template. Limit is 7 total tags or tag buckets.
|
||||
- _Optional_: [InfluxDB tag buckets](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-bucket-part-templates)
|
||||
to use in the partition template. Limit is 7 total tags or tag buckets.
|
||||
- _Optional_: A supported [Rust strftime date and time string](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
|
||||
that specifies the time format in the partition template and determines
|
||||
the time interval to partition by. Default is `%Y-%m-%d`.
|
||||
- Database name _(see [Database naming restrictions](#database-naming-restrictions))_.
|
||||
|
||||
> [!Note]
|
||||
> _{{< product-name >}} supports up to 7 total tags or tag buckets in the partition template._
|
||||
|
||||
The following example shows how to use the Management API to create a database with custom partitioning:
|
||||
|
||||
<!--Skip tests for database create and delete: namespaces aren't reusable-->
|
||||
<!--pytest.mark.skip-->
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|2592000000000|500|100|300|250|ACCOUNT_ID|CLUSTER_ID|MANAGEMENT_TOKEN|(TAG_KEY(_\d)?)" %}}
|
||||
|
||||
```sh
|
||||
{{% code-placeholders "ACCOUNT_ID|CLUSTER_ID|DATABASE_NAME|MANAGEMENT_TOKEN|(TAG_KEY(_\d)?)|100|300|%Y-%m-%d" %}}
|
||||
```bash
|
||||
curl \
|
||||
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" \
|
||||
--request POST \
|
||||
--header "Accept: application/json" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
|
||||
--data '{
|
||||
"name": "'DATABASE_NAME'",
|
||||
--json '{
|
||||
"name": "DATABASE_NAME",
|
||||
"maxTables": 500,
|
||||
"maxColumnsPerTable": 250,
|
||||
"retentionPeriod": 2592000000000,
|
||||
"partitionTemplate": [
|
||||
{
|
||||
"type": "tag",
|
||||
"value": "TAG_KEY_1"
|
||||
},
|
||||
{
|
||||
"type": "tag",
|
||||
"value": "TAG_KEY_2"
|
||||
},
|
||||
{
|
||||
"type": "bucket",
|
||||
"value": {
|
||||
"tagName": "TAG_KEY_3",
|
||||
"numberOfBuckets": 100
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "bucket",
|
||||
"value": {
|
||||
"tagName": "TAG_KEY_4",
|
||||
"numberOfBuckets": 300
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "time",
|
||||
"value": "%Y-%m-%d"
|
||||
}
|
||||
{ "type": "tag", "value": "TAG_KEY_1" },
|
||||
{ "type": "tag", "value": "TAG_KEY_2" },
|
||||
{ "type": "bucket", "value": { "tagName": "TAG_KEY_3", "numberOfBuckets": 100 } },
|
||||
{ "type": "bucket", "value": { "tagName": "TAG_KEY_4", "numberOfBuckets": 300 } },
|
||||
{ "type": "time", "value": "%Y-%m-%d" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace the following in your request:
|
||||
Replace the following:
|
||||
|
||||
- {{% code-placeholder-key %}}`ACCOUNT_ID`{{% /code-placeholder-key %}}: the ID of the {{% product-name %}} [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database for
|
||||
- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}: the ID of the {{% product-name %}} [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database for
|
||||
- {{% code-placeholder-key %}}`MANAGEMENT TOKEN`{{% /code-placeholder-key %}}: a [management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your {{% product-name %}} cluster
|
||||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: your {{% product-name %}} [database](/influxdb3/cloud-dedicated/admin/databases/)
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_1`, `TAG_KEY_2`, `TAG_KEY_3`, and `TAG_KEY_4`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys from your data
|
||||
- {{% 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 %}}: name for the new database
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_1`, `TAG_KEY_2`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys to partition by
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_3`, `TAG_KEY_4`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys for bucketed partitioning
|
||||
- {{% code-placeholder-key %}}`100`, `300`{{% /code-placeholder-key %}}: number of buckets to group tag values into
|
||||
- {{% code-placeholder-key %}}`'%Y-%m-%d'`{{% /code-placeholder-key %}}: [Rust strftime date and time](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates) string that specifies the time part in the partition template
|
||||
|
||||
## Database attributes
|
||||
|
||||
- [Database attributes](#database-attributes)
|
||||
- [Retention period syntax (influxctl CLI)](#retention-period-syntax-influxctl-cli)
|
||||
- [Custom partitioning (influxctl CLI)](#custom-partitioning-influxctl-cli)
|
||||
- [Database attributes](#database-attributes-1)
|
||||
- [Retention period syntax (Management API)](#retention-period-syntax-management-api)
|
||||
- [Custom partitioning (Management API)](#custom-partitioning-management-api)
|
||||
- [Database naming restrictions](#database-naming-restrictions)
|
||||
- [InfluxQL DBRP naming convention](#influxql-dbrp-naming-convention)
|
||||
- [Table and column limits](#table-and-column-limits)
|
||||
|
||||
### Retention period syntax (Management API)
|
||||
|
||||
Use the `retentionPeriod` property to specify the
|
||||
[retention period](/influxdb3/cloud-dedicated/admin/databases/#retention-periods)
|
||||
for the database.
|
||||
The retention period value is an integer (`<int32>`) that represents the number of nanoseconds.
|
||||
For example, `2592000000000` means 30 days.
|
||||
A zero (`0`) retention period is infinite and data won't expire.
|
||||
The retention period value cannot be negative or contain whitespace.
|
||||
|
||||
#### Example retention period values
|
||||
|
||||
- `0`: infinite/none
|
||||
- `259200000000000`: 3 days
|
||||
- `2592000000000000`: 30 days
|
||||
- `31536000000000000`: 1 standard year (365 days)
|
||||
|
||||
### Custom partitioning (Management API)
|
||||
|
||||
{{< product-name >}} lets you define a custom partitioning strategy for each database.
|
||||
A _partition_ is a logical grouping of data stored in [Apache Parquet](https://parquet.apache.org/)
|
||||
format in the InfluxDB 3 storage engine. By default, data is partitioned by day,
|
||||
but, depending on your schema and workload, customizing the partitioning
|
||||
strategy can improve query performance.
|
||||
|
||||
Use the [`partitionTemplate`](/influxdb3/cloud-dedicated/api/management/#operation/CreateClusterDatabase)
|
||||
property to define an array of partition template parts used to generate
|
||||
partition keys for the database.
|
||||
|
||||
For more information, see [Manage data partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/).
|
||||
|
||||
<!------------------------------- END cURL ------------------------------------>
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
## Partition template requirements and guidelines
|
||||
|
||||
Always specify 1 time part in your template.
|
||||
A template has a maximum of 8 parts: 1 time part and up to 7 total tag and tag bucket parts.
|
||||
|
||||
For more information about partition template requirements and restrictions, see [Partition templates](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/).
|
||||
|
||||
> [!Warning]
|
||||
>
|
||||
> #### Partition templates can only be applied on create
|
||||
>
|
||||
> You can only apply a partition template when creating a database.
|
||||
> You can't update a partition template on an existing database.
|
||||
|
||||
## Database attributes
|
||||
|
||||
### Retention period syntax
|
||||
|
||||
Specify how long InfluxDB retains data before automatically removing it.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[influxctl CLI](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
|
||||
{{% tab-content %}}
|
||||
Use the `--retention-period` flag to define the retention period as a duration.
|
||||
For example, `30d` means 30 days. A zero duration (`0d`) keeps data indefinitely.
|
||||
|
||||
{{< flex >}}
|
||||
{{% flex-content "half" %}}
|
||||
#### Valid duration units
|
||||
- **m**: minute
|
||||
- **h**: hour
|
||||
- **d**: day
|
||||
- **w**: week
|
||||
- **mo**: month
|
||||
- **y**: year
|
||||
{{% /flex-content %}}
|
||||
|
||||
{{% flex-content "half" %}}
|
||||
#### Example values
|
||||
- `0d`: infinite/none
|
||||
- `3d`: 3 days
|
||||
- `6w`: 6 weeks
|
||||
- `1mo`: 1 month (30 days)
|
||||
- `1y`: 1 year
|
||||
{{% /flex-content %}}
|
||||
{{< /flex >}}
|
||||
{{% /tab-content %}}
|
||||
|
||||
{{% tab-content %}}
|
||||
Use the `retentionPeriod` property to specify the retention period as nanoseconds.
|
||||
For example, `2592000000000` means 30 days. A value of `0` keeps data indefinitely.
|
||||
|
||||
#### Example values
|
||||
- `0`: infinite/none
|
||||
- `259200000000000`: 3 days
|
||||
- `2592000000000000`: 30 days
|
||||
- `31536000000000000`: 1 standard year (365 days)
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
### Database naming restrictions
|
||||
|
||||
Database names must adhere to the following naming restrictions:
|
||||
|
@ -365,11 +319,9 @@ and [retention policies](/influxdb/v1/concepts/glossary/#retention-policy-rp).
|
|||
In {{% product-name %}}, databases and retention policies have been merged into
|
||||
_databases_, where databases have a retention period, but retention policies
|
||||
are no longer part of the data model.
|
||||
Because InfluxQL uses the 1.x data model, a database must be mapped to a v1
|
||||
database and retention policy (DBRP) to be queryable with InfluxQL.
|
||||
|
||||
**When naming a database that you want to query with InfluxQL**, use the following
|
||||
naming convention to automatically map v1 DBRP combinations to an {{% product-name %}} database:
|
||||
naming convention:
|
||||
|
||||
```text
|
||||
database_name/retention_policy_name
|
||||
|
@ -407,15 +359,13 @@ cluster in the following ways:
|
|||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "**May improve query performance** <em style='opacity:.5;font-weight:normal;'>View more info</em>" %}}
|
||||
|
||||
Schemas with many measurements that contain
|
||||
[focused sets of tags and fields](/influxdb3/cloud-dedicated/write-data/best-practices/schema-design/#design-for-performance) can make it easier for the query engine to
|
||||
identify what partitions contain the queried data, resulting in better
|
||||
query performance.
|
||||
|
||||
{{% /expand %}}
|
||||
{{% expand "**More PUTs into object storage** <em style='opacity:.5;font-weight:normal;'>View more info</em>" %}}
|
||||
|
||||
{{% expand "**More PUTs into object storage** <em style='opacity:.5;font-weight:normal;'>View more info</em>" %}}
|
||||
By default, {{< product-name >}} partitions
|
||||
data by measurement and time range and stores each partition as a Parquet
|
||||
file in your cluster's object store. By increasing the number of measurements
|
||||
|
@ -423,16 +373,14 @@ file in your cluster's object store. By increasing the number of measurements
|
|||
more `PUT` requests into your object store as InfluxDB creates more partitions.
|
||||
Each `PUT` request incurs a monetary cost and will increase the operating cost of
|
||||
your cluster.
|
||||
|
||||
{{% /expand %}}
|
||||
{{% expand "**More work for the compactor** <em style='opacity:.5;font-weight:normal;'>View more info</em>" %}}
|
||||
|
||||
{{% expand "**More work for the compactor** <em style='opacity:.5;font-weight:normal;'>View more info</em>" %}}
|
||||
To optimize storage over time, your {{< product-name omit=" Clustered" >}}
|
||||
cluster contains a compactor that routinely compacts Parquet files in object storage.
|
||||
With more tables and partitions to compact, the compactor may need to be scaled
|
||||
(either vertically or horizontally) to keep up with demand, adding to the
|
||||
operating cost of your cluster.
|
||||
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
|
@ -446,7 +394,6 @@ cluster in the following ways:
|
|||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "May adversely affect query performance" %}}
|
||||
|
||||
At query time, the InfluxDB query engine identifies what table contains the queried
|
||||
data and then evaluates each row in the table to match the conditions of the query.
|
||||
The more columns that are in each row, the longer it takes to evaluate each row.
|
||||
|
@ -454,6 +401,5 @@ The more columns that are in each row, the longer it takes to evaluate each row.
|
|||
Through performance testing, InfluxData has identified 250 columns as the
|
||||
threshold beyond which query performance may be affected
|
||||
(depending on the shape of and data types in your schema).
|
||||
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Delete a database
|
||||
description: >
|
||||
Use the [`influxctl database delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/delete/)
|
||||
Use the Admin UI, the [`influxctl database delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/delete/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to delete a database from your InfluxDB Cloud Dedicated cluster.
|
||||
Provide the name of the database you want to delete.
|
||||
|
@ -28,7 +28,7 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/)
|
||||
Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to delete a database from your {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
|
@ -47,10 +47,33 @@ to delete a database from your {{< product-name omit=" Clustered" >}} cluster.
|
|||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for
|
||||
managing databases.
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. In the cluster list, find the cluster you want to create a database in. You
|
||||
can sort on column headers or use the **Search** field to find a specific cluster.
|
||||
4. Click the options button (three vertical dots) to the right of the token you want to revoke.
|
||||
The options menu displays.
|
||||
5. In the options menu, click **Delete Database**. The **Delete Database** dialog displays.
|
||||
6. In the **Delete Database** dialog, check the box to confirm that you "understand the risk of this action".
|
||||
7. Click the **Delete Database** button to delete the database.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-delete-database.png" alt="Create database dialog" />}}
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: List databases
|
||||
description: >
|
||||
Use the [`influxctl database list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/list/)
|
||||
Use the Admin UI, the [`influxctl database list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/list/), or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to list databases in your InfluxDB Cloud Dedicated cluster.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
|
@ -25,15 +25,57 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/)
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to create a database in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
Use the Admin UI, the [`influxctl database list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/list/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to list databases in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
## Access the Cloud Dedicated Admin UI
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and lists all clusters associated with your account.
|
||||
3. You can **Search** for clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
4. Click the cluster row to view the list of databases associated with the cluster.
|
||||
|
||||
The database list displays the following database details:
|
||||
|
||||
- Name
|
||||
- Database ID
|
||||
- Max tables
|
||||
- Max columns per table
|
||||
- Retention period
|
||||
|
||||
You can **Search** for databases by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-list-databases.png" alt="List databases" />}}
|
||||
|
||||
### Database management tools
|
||||
|
||||
The options button (3 vertical dots) to the right of any database provides additional tools:
|
||||
|
||||
- **Copy Database ID**: Copy the database ID to your clipboard
|
||||
- **Set Retention Period**: Set the retention period for the database
|
||||
- **Delete Database**: Delete the database
|
||||
|
||||
### Manage database tables
|
||||
|
||||
To view database details and manage database tables, click the database row in the list.
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Update a database
|
||||
description: >
|
||||
Use the [`influxctl database update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/)
|
||||
Use the Admin UI, the [`influxctl database update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to update attributes for a database in your InfluxDB Cloud Dedicated cluster.
|
||||
Provide the database name and the attributes to update.
|
||||
|
@ -38,15 +38,37 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/)
|
||||
Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to update attributes such as retention period, column limits, and table limits for a database in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for
|
||||
managing databases.
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and lists all clusters associated with your account.
|
||||
3. Click a cluster row to view the list of databases associated with the cluster. You can **Search** for clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
4. Find the database you want to update.
|
||||
You can **Search** for databases by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
5. To set the retention period, click the options button (3 vertical dots) to the right of the database.
|
||||
6. In the options menu, click **Set Retention Period**.
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
Use the [`influxctl database update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/)
|
||||
|
|
|
@ -1,23 +1,34 @@
|
|||
---
|
||||
title: Create a table
|
||||
description: >
|
||||
Use the [`influxctl table create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/create/)
|
||||
to create a new table in a specified database your InfluxDB cluster.
|
||||
Provide the database name and a table name.
|
||||
Use the Admin UI, the [`influxctl table create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/create/), or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
for {{< product-name >}} to create a new table in a specified database your InfluxDB cluster.
|
||||
Create a table with the same partitioning as the database or with a custom partition template.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Manage tables
|
||||
weight: 201
|
||||
list_code_example: |
|
||||
```sh
|
||||
<!--pytest.mark.skip-->
|
||||
##### CLI
|
||||
```bash
|
||||
influxctl table create <DATABASE_NAME> <TABLE_NAME>
|
||||
```
|
||||
|
||||
<!--pytest.mark.skip-->
|
||||
##### API
|
||||
```bash
|
||||
curl \
|
||||
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME/tables/" \
|
||||
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
|
||||
--json '{ "name": "TABLE_NAME" }'
|
||||
```
|
||||
related:
|
||||
- /influxdb3/cloud-dedicated/reference/cli/influxctl/table/create/
|
||||
- /influxdb3/cloud-dedicated/admin/custom-partitions/
|
||||
---
|
||||
|
||||
Use the [`influxctl table create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/create/)
|
||||
Use the Admin UI or the [`influxctl table create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/create/)
|
||||
to create a table in a specified database in your
|
||||
{{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
|
@ -25,26 +36,181 @@ With {{< product-name >}}, tables and measurements are synonymous.
|
|||
Typically, tables are created automatically on write using the measurement name
|
||||
specified in line protocol written to InfluxDB.
|
||||
However, to apply a [custom partition template](/influxdb3/cloud-dedicated/admin/custom-partitions/)
|
||||
to a table, you must manually create the table before you write any data to it.
|
||||
to a table, you must manually [create the table with custom partitioning](#create-a-table-with-custom-partitioning) before you write any data to it.
|
||||
|
||||
Partitioning defaults to `%Y-%m-%d` (daily).
|
||||
When a partition template is applied to a database, it becomes the default template
|
||||
for all tables in that database, but can be overridden when creating a
|
||||
table.
|
||||
|
||||
- [Create a table](#create-a-table)
|
||||
- [Create a table with custom partitioning](#create-a-table-with-custom-partitioning)
|
||||
- [Partition template requirements and guidelines](#partition-template-requirements-and-guidelines)
|
||||
|
||||
## Create a table
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating
|
||||
and managing tables.
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. In the cluster list, find and click the cluster you want to create a database in. You
|
||||
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.
|
||||
5. Click the **New Table** button above the table list.
|
||||
The **Create table** dialog displays.
|
||||
|
||||
{{< 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).
|
||||
2. Run the `influxctl table create` command and provide the following:
|
||||
|
||||
- _Optional_: [InfluxDB tags](/influxdb3/cloud-dedicated/reference/glossary/#tag)
|
||||
to use in the partition template
|
||||
- _Optional_: [InfluxDB tag buckets](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-bucket-part-templates)
|
||||
to use in the partition template
|
||||
- _Optional_: A supported [Rust strftime date and time string](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
|
||||
that specifies the time format in the partition template and determines
|
||||
the time interval to partition by _(default is `%Y-%m-%d`)_
|
||||
- The name of the database to create the table in
|
||||
- The name of the table to create
|
||||
|
||||
> [!Note]
|
||||
> _{{< product-name >}} supports up to 7 total tags or tag buckets in the partition template._
|
||||
2. Run the `influxctl table create` command:
|
||||
|
||||
{{% code-placeholders "(DATABASE|TABLE)_NAME" %}}
|
||||
```sh
|
||||
```bash
|
||||
# Create a table with the same partitioning as the database
|
||||
influxctl table create \
|
||||
DATABASE_NAME \
|
||||
TABLE_NAME
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
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 %}}
|
||||
<!------------------------------- BEGIN MANAGEMENT API ------------------------------>
|
||||
_This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client._
|
||||
|
||||
1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system.
|
||||
2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint:
|
||||
|
||||
{{% api-endpoint method="POST"
|
||||
endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME/tables"
|
||||
api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateClusterDatabaseTable" %}}
|
||||
|
||||
{{% code-placeholders "ACCOUNT_ID|CLUSTER_ID|DATABASE_NAME|TABLE_NAME|MANAGEMENT_TOKEN" %}}
|
||||
```bash
|
||||
# Create a table with the same partitioning as the database
|
||||
curl \
|
||||
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME/tables" \
|
||||
--request POST \
|
||||
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
|
||||
--json '{
|
||||
"name": "TABLE_NAME"
|
||||
}'
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace the following:
|
||||
|
||||
- {{% 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 >}}
|
||||
|
||||
## Create a table with custom partitioning
|
||||
|
||||
{{< product-name >}} lets you define a [custom partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/) strategy for each database and table.
|
||||
A _partition_ is a logical grouping of data stored in [Apache Parquet](https://parquet.apache.org/)
|
||||
By default, data is partitioned by day,
|
||||
but, depending on your schema and workload, customizing the partitioning
|
||||
strategy can improve query performance.
|
||||
|
||||
To use custom partitioning, you define a [partition template](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/).
|
||||
If a table doesn't have a custom partition template, it inherits the database's template.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI CUSTOM ------------------------------>
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. In the cluster list, find and click the cluster you want to create a database in. You
|
||||
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.
|
||||
5. Click the **New Table** button above the table list.
|
||||
The **Create table** dialog displays.
|
||||
|
||||
{{< 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).
|
||||
2. Use the following `influxctl table create` command flags to specify the
|
||||
[partition template parts](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-part-templates):
|
||||
|
||||
- `--template-timeformat`: A [Rust strftime date and time](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates)
|
||||
string that specifies the time part in the partition template and determines
|
||||
the time interval to partition by.
|
||||
Use one of the following:
|
||||
|
||||
- `%Y-%m-%d` (daily)
|
||||
- `%Y-%m` (monthly)
|
||||
- `%Y` (annually)
|
||||
- `--template-tag`: An [InfluxDB tag]
|
||||
to use in the partition template.
|
||||
- `--template-tag-bucket`: An [InfluxDB tag](/influxdb3/cloud-dedicated/reference/glossary/#tag)
|
||||
and number of "buckets" to group tag values into.
|
||||
Provide the tag key and the number of buckets to bucket tag values into
|
||||
separated by a comma: `tagKey,N`.
|
||||
|
||||
{{% code-placeholders "DATABASE_NAME|30d|(TAG_KEY(_\d)?)|100|300" %}}
|
||||
```bash
|
||||
# Create a table with custom partitioning
|
||||
influxctl table create \
|
||||
--template-tag tag1 \
|
||||
--template-tag tag2 \
|
||||
|
@ -56,22 +222,71 @@ influxctl table create \
|
|||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
### Custom partitioning
|
||||
Replace the following:
|
||||
|
||||
{{< product-name >}} lets you define a custom partitioning strategy for each table.
|
||||
A _partition_ is a logical grouping of data stored in [Apache Parquet](https://parquet.apache.org/)
|
||||
format in the InfluxDB 3 storage engine. By default, data is partitioned by day,
|
||||
but, depending on your schema and workload, customizing the partitioning
|
||||
strategy can improve query performance.
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_1`, `TAG_KEY_2`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys to partition by
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_3`, `TAG_KEY_4`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys for bucketed partitioning
|
||||
- {{% code-placeholder-key %}}`100`, `300`{{% /code-placeholder-key %}}: number of buckets to group tag values into
|
||||
- {{% code-placeholder-key %}}`'%Y-%m-%d'`{{% /code-placeholder-key %}}: [Rust strftime date and time](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates) string that specifies the time part in the partition template
|
||||
- {{% 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._
|
||||
|
||||
Use the `--template-tag`, `--template-tag-bucket`, and `--template-timeformat`
|
||||
flags to define partition template parts used to generate partition keys for the table.
|
||||
If no template flags are provided, the table uses the partition template of the
|
||||
target database.
|
||||
For more information, see [Manage data partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/).
|
||||
1. If you haven't already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system.
|
||||
2. In your terminal, use cURL to send a request to the following {{% product-name %}} endpoint:
|
||||
|
||||
{{% api-endpoint method="POST"
|
||||
endpoint="https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME/tables"
|
||||
api-ref="/influxdb3/cloud-dedicated/api/management/#operation/CreateClusterDatabaseTable" %}}
|
||||
|
||||
In the request body, include the `partitionTemplate` property and specify the [partition template parts](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#tag-part-templates) as an array of objects--for example:
|
||||
|
||||
{{% code-placeholders "ACCOUNT_ID|CLUSTER_ID|DATABASE_NAME|MANAGEMENT_TOKEN|TABLE_NAME|(TAG_KEY(_\d)?)|100|300|%Y-%m-%d" %}}
|
||||
```bash
|
||||
# Create a table with custom partitioning
|
||||
curl \
|
||||
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases/DATABASE_NAME/tables" \
|
||||
--request POST \
|
||||
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
|
||||
--json '{
|
||||
"name": "TABLE_NAME",
|
||||
"partitionTemplate": [
|
||||
{ "type": "tag", "value": "TAG_KEY_1" },
|
||||
{ "type": "tag", "value": "TAG_KEY_2" },
|
||||
{ "type": "bucket", "value": { "tagName": "TAG_KEY_3", "numberOfBuckets": 100 } },
|
||||
{ "type": "bucket", "value": { "tagName": "TAG_KEY_4", "numberOfBuckets": 300 } },
|
||||
{ "type": "time", "value": "%Y-%m-%d" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
{{% /code-placeholders %}}
|
||||
|
||||
Replace the following:
|
||||
|
||||
- {{% 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 you want for the new table
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_1`, `TAG_KEY_2`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys to partition by
|
||||
- {{% code-placeholder-key %}}`TAG_KEY_3`, `TAG_KEY_4`{{% /code-placeholder-key %}}: [tag](/influxdb3/cloud-dedicated/reference/glossary/#tag) keys for bucketed partitioning
|
||||
- {{% code-placeholder-key %}}`100`, `300`{{% /code-placeholder-key %}}: number of buckets to group tag values into
|
||||
- {{% code-placeholder-key %}}`'%Y-%m-%d'`{{% /code-placeholder-key %}}: [Rust strftime date and time](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates) string that specifies the time part in the partition template
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
## Partition template requirements and guidelines
|
||||
|
||||
Always specify 1 time part in your template.
|
||||
A template has a maximum of 8 parts: 1 time part and up to 7 total tag and tag bucket parts.
|
||||
|
||||
For more information about partition template requirements and restrictions, see [Partition templates](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/).
|
||||
|
||||
> [!Warning]
|
||||
> #### Partition templates can only be applied on create
|
||||
>
|
||||
> You can only apply a partition template when creating a table.
|
||||
> There is no way to update a partition template on an existing table.
|
||||
> You can't update a partition template on an existing table.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: List tables
|
||||
description: >
|
||||
Use the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database)
|
||||
Use the Admin UI, the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database),
|
||||
or the [`SHOW MEASUREMENTS` InfluxQL statement](/influxdb3/cloud-dedicated/query-data/influxql/explore-schema/#list-measurements-in-a-database)
|
||||
to list tables in a database.
|
||||
menu:
|
||||
|
@ -25,13 +25,53 @@ related:
|
|||
- /influxdb3/cloud-dedicated/query-data/influxql/explore-schema/
|
||||
---
|
||||
|
||||
Use the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database)
|
||||
Use the Admin UI, the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database),
|
||||
or the [`SHOW MEASUREMENTS` InfluxQL statement](/influxdb3/cloud-dedicated/query-data/influxql/explore-schema/#list-measurements-in-a-database)
|
||||
to list tables in a database.
|
||||
|
||||
> [!Note]
|
||||
> With {{< product-name >}}, tables and measurements are synonymous.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#admin-ui)
|
||||
[influxctl](#influxctl)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for managing
|
||||
tables. You can view the list of tables associated with a database and
|
||||
their details, including:
|
||||
|
||||
- Name
|
||||
- Table ID
|
||||
- Table size (in bytes)
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and lists all clusters associated with your account.
|
||||
3. In the cluster list, find the cluster that contains the database and table. You can **Search** for clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
4. Click the cluster row to view the list of databases associated with the cluster.
|
||||
5. In the database list, find the database that contains the table. You can **Search** for databases by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
6. Click the database row to view the list of tables associated with the database.
|
||||
7. The table list displays the following table details:
|
||||
- Name
|
||||
- Table ID
|
||||
- Table size (in bytes)
|
||||
8. You can **Search** for tables by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
|
||||
You can **Search** for databases by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN INFLUXCTL ------------------------------>
|
||||
###### SQL
|
||||
|
||||
```sql
|
||||
|
@ -78,3 +118,5 @@ Replace the following:
|
|||
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
|
||||
Name of the database to query
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
|
@ -16,34 +16,5 @@ aliases:
|
|||
|
||||
InfluxDB uses token authentication to authorize access to data in your
|
||||
{{< product-name omit=" Clustered" >}} cluster.
|
||||
There are two types of tokens:
|
||||
|
||||
- [Database tokens](#database-tokens)
|
||||
- [Management tokens](#management-tokens)
|
||||
|
||||
#### Database tokens
|
||||
|
||||
Database tokens grant read and write permissions to one or more databases
|
||||
and allows for actions like writing and querying data.
|
||||
|
||||
All read and write actions performed against time series data in your
|
||||
{{< product-name omit=" Clustered" >}} cluster must be authorized using a database token.
|
||||
|
||||
#### Management tokens
|
||||
|
||||
Management tokens grant permission to perform administrative actions such as
|
||||
managing users, databases, and database tokens.
|
||||
Management tokens allow clients, such as the
|
||||
[`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
|
||||
to perform administrative actions.
|
||||
|
||||
> [!Note]
|
||||
> #### Store secure tokens in a secret store
|
||||
>
|
||||
> Token strings are returned _only_ on token creation.
|
||||
> We recommend storing database tokens in a **secure secret store**.
|
||||
> For example, see how to [authenticate Telegraf using tokens in your OS secret store](https://github.com/influxdata/telegraf/tree/master/plugins/secretstores/os).
|
||||
|
||||
---
|
||||
|
||||
{{< children hlevel="h2" readmore=true hr=true >}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Create a database token
|
||||
description: >
|
||||
Use the [`influxctl token create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/)
|
||||
Use the Admin UI, the [`influxctl token create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to create a [database token](/influxdb3/cloud-dedicated/admin/tokens/database/) for reading and writing data in your InfluxDB Cloud Dedicated cluster.
|
||||
Provide a token description and permissions for databases.
|
||||
|
@ -52,16 +52,49 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/)
|
||||
Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/) to create a [database token](/influxdb3/cloud-dedicated/admin/tokens/database/) with permissions for reading and writing data in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------->
|
||||
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating and managing database tokens.
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://{{< influxdb/host >}}/">https://{{< influxdb/host >}}</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and the list of clusters associated with your account.
|
||||
4. Find the cluster that you want to create a database token for. You can **Search** clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
5. Click the row for the cluster.
|
||||
6. Click the **Database Tokens** button in the upper right corner of the Cluster screen.
|
||||
7. In the Database Tokens portal, click the **New Database Token** button.
|
||||
The **Create Database Token** dialog displays.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-create-database-token.png" alt="Create database token dialog" />}}
|
||||
|
||||
8. Add a token description.
|
||||
The description is used to identify the token in the list of tokens.
|
||||
9. To create a token that expires, enable the **Expiration** toggle,
|
||||
and then select the expiration date and time.
|
||||
10. Set the token permissions:
|
||||
- Select the database or **All Databases** for the permission
|
||||
- Use the **Read** and **Write** buttons under **Actions** to toggle these permissions on or off for the selected database.
|
||||
11. Click the **Create Token** button. The dialog displays the **Token secret** string and the description you provided.
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
|
||||
Use the [`influxctl token create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/create/)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: List database tokens
|
||||
description: >
|
||||
Use the [`influxctl token list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list/)
|
||||
Use the Admin UI, the [`influxctl token list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to list database tokens in your InfluxDB Cloud Dedicated cluster.
|
||||
menu:
|
||||
|
@ -35,7 +35,7 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/)
|
||||
Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to list database tokens in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
|
@ -46,10 +46,49 @@ to list database tokens in your {{< product-name omit=" Clustered" >}} cluster.
|
|||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#admin-ui-list-tokens)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN ADMIN UI ------------------------------->
|
||||
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating and managing database tokens.
|
||||
|
||||
Administrators can use this portal to:
|
||||
|
||||
- View token details
|
||||
- Add read and write permissions for specific databases to a token
|
||||
- Edit a token's existing read and write permissions for a database
|
||||
- Create a database token
|
||||
- Revoke a database token
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://{{< influxdb/host >}}/">https://{{< influxdb/host >}}</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. After you log in, the Account Management screen displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and the list of clusters associated with your account.
|
||||
4. Click the cluster row that you want to manage tokens for. You can **Search** clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
5. Click the **Database Tokens** button in the upper right corner of the Cluster screen.
|
||||
|
||||
The Database Tokens portal lists all database tokens associated with the cluster
|
||||
and provides the following information about each token:
|
||||
|
||||
- Token ID
|
||||
- Description
|
||||
- Databases
|
||||
- Status (Active or Revoked)
|
||||
- Created At date
|
||||
- Expires At date
|
||||
|
||||
You can **Search** tokens by description or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
{{% /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), and then [configure an `influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster.2. In your terminal, run the `influxctl token list` command and provide the following:
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
title: Revoke a database token
|
||||
description: >
|
||||
Use the [`influxctl token revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/)
|
||||
Use the Admin UI, the [`influxctl token revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to revoke a database token associated with your {{% product-name omit-" Clustered" %}}
|
||||
to revoke a database token associated with your {{% product-name omit=" Clustered" %}}
|
||||
cluster and remove all permissions associated with the token.
|
||||
Provide the ID of the database token you want to revoke.
|
||||
menu:
|
||||
|
@ -39,10 +39,48 @@ to revoke a database token associated with your
|
|||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating
|
||||
and managing database tokens.
|
||||
|
||||
Administrators can use this portal to:
|
||||
|
||||
- View token details
|
||||
- Add read and write permissions for specific databases to a token
|
||||
- Edit a token's existing read and write permissions for a database
|
||||
- Create a database token
|
||||
- Revoke a database token
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://{{< influxdb/host >}}/">https://{{< influxdb/host >}}</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and the [list of clusters](/influxdb3/cloud-dedicated/admin/clusters/list/) associated with your account.
|
||||
4. Click the row for the cluster that contains the database you want to manage tokens for. You can **Search** clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
5. Click the **Database Tokens** button in the upper right corner of the Cluster screen.
|
||||
6. The Database Tokens portal displays the [list of database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/list/) associated with the cluster.
|
||||
Use the sort and filter options above the list to find a specific token.
|
||||
7. Click the **Options** button (three vertical dots) to the right of the token you want to revoke.
|
||||
8. In the options menu, click **Revoke Token**.
|
||||
The **Revoke Database Token** dialog displays.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-revoke-database-token.png" alt="Revoke database token dialog" />}}
|
||||
|
||||
9. Check the box to confirm that you understand the risk.
|
||||
10. Click the **Revoke Token** button.
|
||||
The token is revoked and filtered from the list of active tokens.
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
Use the [`influxctl token revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/revoke/)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
title: Update a database token
|
||||
description: >
|
||||
Use the [`influxctl token update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/)
|
||||
Use the Admin UI, the [`influxctl token update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to update a database token's permissions in your InfluxDB Cloud Dedicated cluster.
|
||||
to update a database token's permissions in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Database tokens
|
||||
|
@ -52,17 +52,74 @@ related:
|
|||
- /influxdb3/cloud-dedicated/reference/api/
|
||||
---
|
||||
|
||||
Use the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/)
|
||||
Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
|
||||
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
|
||||
to update a database token's permissions {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#)
|
||||
[influxctl](#)
|
||||
[Management API](#)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating
|
||||
and managing database tokens.
|
||||
|
||||
Through this portal, administrators can edit a token's permissions to:
|
||||
|
||||
- Add read and write permissions for specific databases
|
||||
- Edit a token's existing read and write permissions for a database
|
||||
|
||||
### Open the Edit Database Token dialog
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://{{< influxdb/host >}}/">https://{{< influxdb/host >}}</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
and the [list of clusters](/influxdb3/cloud-dedicated/admin/clusters/list/) associated with your account.
|
||||
Use the sort and filter options above the list to find a specific cluster.
|
||||
4. Click the row for the cluster that contains the database you want to manage tokens for.
|
||||
5. Click the **Database Tokens** button in the upper right corner of the Cluster screen.
|
||||
6. The Database Tokens portal displays the [list of database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/list/) associated with the cluster.
|
||||
Use the sort and filter options above the list to find a specific token.
|
||||
7. Click the **Options** button (three vertical dots) to the right of the token you want to edit.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-database-token-options-menu.png" alt="Database token option menu" />}}
|
||||
|
||||
8. Click **Edit Token** in the dropdown menu. The **Edit Database Token** dialog displays.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-edit-database-token.png" alt="Edit Database Token dialog" />}}
|
||||
|
||||
9. In the **Edit Database Token** dialog, you can edit the token's **Description** and permissions.
|
||||
|
||||
### Edit token permissions
|
||||
|
||||
1. [Open the Edit Database Token dialog](#open-the-edit-database-token-dialog) for the database token.
|
||||
|
||||
The **Edit Database Token** dialog displays the token's existing permissions.
|
||||
Each permission consists of:
|
||||
|
||||
- A database (specific database name or **All Databases**)
|
||||
- Action permissions (Read and Write)
|
||||
|
||||
2. To change which database a permission applies to, click the **Database** dropdown and select a different database or **All Databases**.
|
||||
3. To adjust the access level of the permission, use the **Read** and **Write** buttons under **Actions** to toggle these permissions on or off for the selected database.
|
||||
|
||||
### Add token permissions
|
||||
|
||||
1. [Open the Edit Database Token dialog](#open-the-edit-database-token-dialog) for the database token.
|
||||
2. In the dialog, click **Add Permission**.
|
||||
3. For the new permission, select a database from the dropdown.
|
||||
4. Toggle the **Read** and **Write** buttons to set the access level.
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
|
||||
Use the [`influxctl token update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/)
|
||||
to update a database token's permissions in your {{< product-name omit=" Clustered" >}} cluster.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Create a management token
|
||||
description: >
|
||||
Use the [`influxctl management create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/create)
|
||||
Use the Admin UI or the [`influxctl management create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/create)
|
||||
to manually create a management token.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
|
@ -18,6 +18,8 @@ list_code_example: |
|
|||
--description "Example token description"
|
||||
```
|
||||
---
|
||||
Use the Admin UI or the [`influxctl management create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/create)
|
||||
to manually create a management token.
|
||||
|
||||
By default, management tokens are short-lived tokens issued by an OAuth2 identity
|
||||
provider that grant a specific user administrative access to your
|
||||
|
@ -37,6 +39,40 @@ interaction with your identity provider.
|
|||
> and authorized through your OAuth2 identity provider to manually create a
|
||||
> management token.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#admin-ui)
|
||||
[influxctl](#influxctl)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------BEGIN ADMIN UI ------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating
|
||||
and managing management tokens.
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. Click the **Management Tokens** button in the upper right corner of the Account Management portal.
|
||||
4. In the Management Tokens portal, click the **New Management Token** button.
|
||||
The **Create Management Token** dialog displays.
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-create-management-token.png" alt="Create management token dialog" />}}
|
||||
|
||||
5. You can optionally set the following fields:
|
||||
- **Expiration date**: Set an expiration date for the token
|
||||
- **Expiration time**: Set an expiration time for the token
|
||||
- **Description**: Enter a description for the token
|
||||
-
|
||||
If an expiration isn't set, the token does not expire until revoked.
|
||||
6. Click the **Create Token** button. The dialog displays the **Token secret** string and the description you provided.
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl).
|
||||
2. Use the [`influxctl management create` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/create/)
|
||||
to manually create a management token. Provide the following:
|
||||
|
@ -61,6 +97,8 @@ Replace the following:
|
|||
`{{< datetime/current-date offset=1 >}}`.
|
||||
- {{% code-placeholder-key %}}`TOKEN_DESCRIPTION`{{% /code-placeholder-key %}}:
|
||||
Management token description.
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
|
||||
Once created, the command returns the management token string.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: List management tokens
|
||||
description: >
|
||||
Use the [`influxctl management list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/list/)
|
||||
Use the Admin UI or the [`influxctl management list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/list/)
|
||||
to list manually-created management tokens.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
|
@ -17,9 +17,44 @@ list_code_example: |
|
|||
```
|
||||
---
|
||||
|
||||
Use the [`influxctl management list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/list)
|
||||
Use the Admin UI or the [`influxctl management list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/list)
|
||||
to list manually-created management tokens.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#admin-ui)
|
||||
[influxctl](#influxctl)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------BEGIN ADMIN UI------------------------------>
|
||||
The InfluxDB Cloud Dedicated administrative UI includes a portal for creating
|
||||
and managing management tokens.
|
||||
|
||||
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
|
||||
</pre>
|
||||
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
3. To list management tokens, click the **Management Tokens** button in the upper right corner of the Account Management portal.
|
||||
|
||||
The Management Tokens portal displays the following information about each token:
|
||||
|
||||
- Status
|
||||
- Description
|
||||
- Token ID
|
||||
- Created date
|
||||
- Expiration date
|
||||
|
||||
You can **Search** tokens by description or ID to filter the list and use the sort button and column headers to sort the list.
|
||||
|
||||
{{% /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).
|
||||
2. Run `influxctl management list` with the following:
|
||||
|
||||
|
@ -40,6 +75,8 @@ influxctl management list --format json
|
|||
> Revoked tokens still appear when listing management tokens, but they are no
|
||||
> longer valid for any operations.
|
||||
|
||||
{{% /tab-content %}}
|
||||
{{< /tabs-wrapper >}}
|
||||
### Output formats
|
||||
|
||||
The `influxctl management list` command supports two output formats: `table` and `json`.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Revoke a management token
|
||||
description: >
|
||||
Use the [`influxctl management revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/revoke/)
|
||||
Use the Admin UI or the [`influxctl management revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/revoke/)
|
||||
to revoke a management token and remove all access associated with the token.
|
||||
Provide the ID of the management token you want to revoke.
|
||||
menu:
|
||||
|
@ -16,9 +16,35 @@ list_code_example: |
|
|||
```
|
||||
---
|
||||
|
||||
Use the [`influxctl management revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/revoke/)
|
||||
Use the Admin UI or the [`influxctl management revoke` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/revoke/)
|
||||
to revoke a management token and remove all access associated with the token.
|
||||
|
||||
{{< tabs-wrapper >}}
|
||||
{{% tabs %}}
|
||||
[Admin UI](#admin-ui)
|
||||
[influxctl](#influxctl)
|
||||
{{% /tabs %}}
|
||||
{{% tab-content %}}
|
||||
<!------------------------------BEGIN ADMIN UI ------------------------------>
|
||||
The {{% product-name %}} administrative UI includes a portal for managing management tokens.
|
||||
|
||||
1. To access the {{< product-name omit="InfluxDB " >}} Admin UI, visit the following URL in your browser:
|
||||
|
||||
<pre>
|
||||
<a href="https://{{< influxdb/host >}}/">https://{{< influxdb/host >}}</a>
|
||||
</pre>
|
||||
2. Use the credentials provided by InfluxData to log into the Admin UI.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
3. To revoke a management token, click the **Management Tokens** button in the upper right corner of the Account Management portal.
|
||||
4. **Search** for the token or use the sort button and column headers to sort the token list and find the token you want to revoke.
|
||||
5. Click the options button (three vertical dots) to the right of the token you want to revoke.
|
||||
The options menu displays.
|
||||
6. In the options menu, click **Revoke Token**.
|
||||
7. In the **Revoke Management Token** dialog, check the box to confirm you "Understand the risk of this action".
|
||||
8. Click the **Revoke Token** button to revoke the token.
|
||||
The token is revoked and filtered from the list of active tokens.
|
||||
{{% /tab-content %}}
|
||||
{{% tab-content %}}
|
||||
1. If you haven't already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl).
|
||||
2. Run the [`influxctl management list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/management/list)
|
||||
to output tokens with their IDs.
|
||||
|
@ -43,6 +69,8 @@ influxctl management revoke --force TOKEN_ID
|
|||
|
||||
Replace {{% code-placeholder-key %}}`TOKEN_ID`{{% /code-placeholder-key %}} with
|
||||
the ID of the token you want to revoke.
|
||||
{{% /tab-content %}}
|
||||
{{% /tabs-wrapper %}}
|
||||
|
||||
> [!Note]
|
||||
> #### Revoked tokens are included when listing management tokens
|
||||
|
|
|
@ -17,6 +17,8 @@ provides nearly unlimited series cardinality,
|
|||
improved query performance, and interoperability with widely used data
|
||||
processing tools and platforms.
|
||||
|
||||
<a class="btn" href="{{< cta-link >}}">Run an {{% product-name %}} proof of concept (PoC)</a>
|
||||
|
||||
**Time series data** is a sequence of data points indexed in time order. Data
|
||||
points typically consist of successive measurements made from the same source
|
||||
and are used to track changes over time. Examples of time series data include:
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
---
|
||||
title: Administrative UI
|
||||
seotitle: Administrative UI for {{% product-name %}}
|
||||
description: >
|
||||
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.
|
||||
menu:
|
||||
influxdb3_cloud_dedicated:
|
||||
parent: Reference
|
||||
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.
|
||||
|
||||
- [Access the Admin UI](#access-the-admin-ui)
|
||||
- [Account management](#account-management)
|
||||
- [Resource management](#resource-management)
|
||||
- [Manage clusters](#manage-clusters)
|
||||
- [Manage databases](#manage-databases)
|
||||
- [Manage tables](#manage-tables)
|
||||
- [Manage database tokens](#manage-database-tokens)
|
||||
- [Additional Features](#additional-features)
|
||||
|
||||
|
||||
## Access the Admin UI
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-login.png" alt="InfluxDB Cloud Dedicated Admin UI login page" />}}
|
||||
|
||||
Customers can access the Admin UI at [console.influxdata.com](http://console.influxdata.com) using the credentials provided by InfluxData.
|
||||
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
|
||||
|
||||
After you log in to the Admin UI, the Account Management portal provides an entrypoint to view your account information and manage your {{% product-name %}} resources.
|
||||
|
||||
## Account management
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-clusters-options.png" alt="InfluxDB Cloud Dedicated Admin UI account management cluster list" />}}
|
||||
|
||||
- View account details and associated clusters
|
||||
- Create, view, and manage management tokens for account-level operations
|
||||
- Access contract information (status, start date)
|
||||
|
||||
For more information, see the following:
|
||||
|
||||
- [View account information](/influxdb3/cloud-dedicated/admin/account/)
|
||||
- [Manage management tokens](/influxdb3/cloud-dedicated/admin/tokens/)
|
||||
|
||||
## Resource management
|
||||
|
||||
The Admin UI lets you manage {{% product-name %}} resources, such as databases,
|
||||
tables, and tokens, associated with a cluster.
|
||||
|
||||
- [Manage clusters](#manage-clusters)
|
||||
- [Manage databases](#manage-databases)
|
||||
- [Manage tables](#manage-tables)
|
||||
- [Manage database tokens](manage-database-tokens)
|
||||
|
||||
### Manage clusters
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-clusters-options.png" alt="InfluxDB Cloud Dedicated Admin UI cluster options" />}}
|
||||
|
||||
- View cluster IDs, statuses, creation date, and sizing information
|
||||
- Access Grafana dashboards for operational monitoring (if enabled for the account)
|
||||
- View and manage resources (such as databases, tables, and database tokens) associated with a cluster
|
||||
|
||||
For more information, see [Manage clusters](/influxdb3/cloud-dedicated/admin/clusters/).
|
||||
|
||||
### Manage databases
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-databases.png" alt="InfluxDB Cloud Dedicated Admin UI cluster resources databases list" />}}
|
||||
|
||||
- Create and delete databases
|
||||
- Update retention periods
|
||||
- Configure maximum tables and columns per table
|
||||
- View and manage tables associated with a database
|
||||
|
||||
For more information, see [Manage databases](/influxdb3/cloud-dedicated/admin/databases/).
|
||||
|
||||
### Manage tables
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-tables.png" alt="InfluxDB Cloud Dedicated Admin UI database tables list" />}}
|
||||
|
||||
- View tables associated with databases
|
||||
- See table IDs and sizes
|
||||
- Create new tables
|
||||
|
||||
For more information, see [Manage tables](/influxdb3/cloud-dedicated/admin/tables/).
|
||||
|
||||
### Manage database tokens
|
||||
|
||||
{{< img-hd src="/img/influxdb3/cloud-dedicated-admin-ui-database-tokens.png" alt="InfluxDB Cloud Dedicated Admin UI manage database tokens portal" />}}
|
||||
|
||||
- Create and manage authentication tokens for database-level operations
|
||||
- Edit permissions or revoke existing tokens
|
||||
- Control access with granular read and write permissions
|
||||
|
||||
For more information, see [Manage database tokens](/influxdb3/cloud-dedicated/admin/tokens/).
|
||||
|
||||
### Additional Features
|
||||
|
||||
- Help center for access to documentation
|
||||
- One-click connections to InfluxData sales and support
|
|
@ -9,7 +9,7 @@ menu:
|
|||
influxdb3_cloud_dedicated:
|
||||
parent: Reference
|
||||
name: InfluxDB HTTP API
|
||||
weight: 104
|
||||
weight: 105
|
||||
influxdb3/cloud-dedicated/tags: [api]
|
||||
---
|
||||
|
||||
|
|
|
@ -10,10 +10,9 @@ menu:
|
|||
parent: Reference
|
||||
name: CLIs
|
||||
weight: 104
|
||||
# draft: true
|
||||
---
|
||||
|
||||
InfluxDB provides command line tools designed to manage and work with your
|
||||
InfluxDB Cloud Dedicated cluster from the command line.
|
||||
The following command line interfaces (CLIs) are available:
|
||||
|
||||
{{< children >}}
|
||||
|
|
|
@ -9,12 +9,16 @@ menu:
|
|||
name: influxctl
|
||||
parent: CLIs
|
||||
weight: 101
|
||||
aliases:
|
||||
- /influxdb3/cloud-dedicated/reference/cli/
|
||||
influxdb3/cloud-dedicated/tags: [cli]
|
||||
---
|
||||
|
||||
The `influxctl` command line interface (CLI) writes to, queries, and performs
|
||||
administrative tasks in an {{< product-name omit=" Clustered" >}} cluster.
|
||||
administrative tasks in an {{< product-name omit=" Clustered" >}} cluster and
|
||||
provides a scriptable way to manage your {{% product-name %}} resources.
|
||||
|
||||
- [Key features](#key-features)
|
||||
- [Usage](#usage)
|
||||
- [Commands](#commands)
|
||||
- [Global flags](#global-flags)
|
||||
|
@ -22,6 +26,12 @@ administrative tasks in an {{< product-name omit=" Clustered" >}} cluster.
|
|||
- [Configure connection profiles](#configure-connection-profiles)
|
||||
- [Authentication](#authentication)
|
||||
|
||||
## Key features
|
||||
|
||||
- Authentication via environment variables or config file
|
||||
- JSON output for scripting and automation
|
||||
- Can be integrated into CI/CD pipelines
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
|
|
|
@ -9,42 +9,4 @@ weight: 301
|
|||
draft: true
|
||||
---
|
||||
|
||||
The `influxctl cluster create` command creates an {{% product-name omit=" Clustered" %}} cluster.
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
influxctl cluster create [flags]
|
||||
```
|
||||
|
||||
## Flags
|
||||
|
||||
| Flag | | Description |
|
||||
| :--- | ------------------------- | :-------------------------------------------------------------------------------------------- |
|
||||
| | `--region` | {{< req >}}: Region to create cluster in |
|
||||
| | `--category` | {{< req >}}: Cluster category (`contract`, `internal`, `unpaid_poc`, `paid_poc`, or `system`) |
|
||||
| | `--ingestor-units` | Ingestor units _(default is 0)_ |
|
||||
| | `--ingestor-granularity` | Ingestor granularity _(default is 0)_ |
|
||||
| | `--compactor-units` | Compactor units _(default is 0)_ |
|
||||
| | `--compactor-granularity` | Compactor granularity _(default is 0)_ |
|
||||
| | `--query-units` | Query units _(default is 0)_ |
|
||||
| | `--query-granularity` | Query granularity _(default is 0)_ |
|
||||
| `-h` | `--help` | Output command help |
|
||||
|
||||
{{% caption %}}
|
||||
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
|
||||
{{% /caption %}}
|
||||
|
||||
## Examples
|
||||
|
||||
##### Create an InfluxDB Cloud Dedicated cluster
|
||||
|
||||
```sh
|
||||
influxctl cluster create \
|
||||
--region us-west-2 \
|
||||
--category internal \
|
||||
--ingestor-units 3 \
|
||||
--compactor-units 1 \
|
||||
--query-units 1 \
|
||||
example-cluster-name
|
||||
```
|
||||
<!-- // NOTE This command is for InfluxData internal use only. -->
|
||||
|
|
|
@ -9,47 +9,4 @@ weight: 301
|
|||
draft: true
|
||||
---
|
||||
|
||||
The `influxctl cluster update` command updates an {{% product-name omit=" Clustered" %}} cluster.
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
influxctl cluster update [flags] <CLUSTER_ID>
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
| Argument | Description |
|
||||
| :------------- | :----------------------- |
|
||||
| **CLUSTER_ID** | ID of the [cluster](/influxdb3/cloud-dedicated/reference/glossary/#cluster) to get |
|
||||
|
||||
## Flags
|
||||
|
||||
| Flag | | Description |
|
||||
| :--- | ------------------------- | :-------------------------------------------------------------------------------------------- |
|
||||
| | `--state` | {{< req >}}: Cluster state (`ready` or `deleted`) |
|
||||
| | `--category` | {{< req >}}: Cluster category (`contract`, `internal`, `unpaid_poc`, `paid_poc`, or `system`) |
|
||||
| | `--ingestor-units` | Ingestor units _(default is 0)_ |
|
||||
| | `--ingestor-granularity` | Ingestor granularity _(default is 0)_ |
|
||||
| | `--compactor-units` | Compactor units _(default is 0)_ |
|
||||
| | `--compactor-granularity` | Compactor granularity _(default is 0)_ |
|
||||
| | `--query-units` | Query units _(default is 0)_ |
|
||||
| | `--query-granularity` | Query granularity _(default is 0)_ |
|
||||
| `-h` | `--help` | Output command help |
|
||||
|
||||
{{% caption %}}
|
||||
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
|
||||
{{% /caption %}}
|
||||
|
||||
## Examples
|
||||
|
||||
##### Update an InfluxDB Cloud Dedicated cluster
|
||||
|
||||
```sh
|
||||
influxctl cluster update \
|
||||
--state ready \
|
||||
--category contract \
|
||||
--ingestor-units 3 \
|
||||
--compactor-units 1 \
|
||||
--query-units 1 \
|
||||
```
|
||||
<!-- // NOTE This command is for InfluxData internal use only. -->
|
|
@ -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/
|
||||
|
|
|
@ -39,7 +39,7 @@ Each Telegraf configuration must **have at least one input plugin and one output
|
|||
Telegraf input plugins retrieve metrics from different sources.
|
||||
Telegraf output plugins write those metrics to a destination.
|
||||
|
||||
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{< product-name >}}.
|
||||
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{% product-name %}}.
|
||||
|
||||
```toml
|
||||
# ...
|
||||
|
|
|
@ -115,7 +115,7 @@ For {{% product-name %}}, set this to an empty string (`""`).
|
|||
The name of the {{% product-name %}} database to write data to.
|
||||
|
||||
> [!Note]
|
||||
> ##### Write to InfluxDB v1.x and {{< product-name >}}
|
||||
> ##### Write to InfluxDB v1.x and {{% product-name %}}
|
||||
>
|
||||
> If a Telegraf agent is already writing to an InfluxDB v1.x database,
|
||||
> enabling the InfluxDB v2 output plugin will write data to both v1.x and your {{< product-name omit="Clustered" >}} cluster.
|
||||
|
|
|
@ -9,8 +9,8 @@ menu:
|
|||
parent: Manage billing
|
||||
name: View data usage
|
||||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
- /flux/v0/stdlib/experimental/usage/from/
|
||||
- /flux/v0/stdlib/experimental/usage/limits/
|
||||
alt_links:
|
||||
cloud: /influxdb/cloud/account-management/data-usage/
|
||||
aliases:
|
||||
|
|
|
@ -9,8 +9,8 @@ menu:
|
|||
parent: Manage billing
|
||||
name: Adjustable quotas and limits
|
||||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
- /flux/v0/stdlib/experimental/usage/from/
|
||||
- /flux/v0/stdlib/experimental/usage/limits/
|
||||
- /influxdb3/cloud-serverless/write-data/best-practices/
|
||||
alt_links:
|
||||
cloud: /influxdb/cloud/account-management/limits/
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -40,7 +40,7 @@ Each Telegraf configuration must **have at least one input plugin and one output
|
|||
Telegraf input plugins retrieve metrics from different sources.
|
||||
Telegraf output plugins write those metrics to a destination.
|
||||
|
||||
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{< product-name >}}.
|
||||
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{% product-name %}}.
|
||||
|
||||
```toml
|
||||
# ...
|
||||
|
|
|
@ -110,7 +110,7 @@ For {{% product-name %}}, set this to an empty string (`""`).
|
|||
The name of the {{% product-name %}} bucket to write data to.
|
||||
|
||||
> [!Note]
|
||||
> ##### Write to InfluxDB v1.x and {{< product-name >}}
|
||||
> ##### Write to InfluxDB v1.x and {{% product-name %}}
|
||||
>
|
||||
> If a Telegraf agent is already writing to an InfluxDB v1.x database,
|
||||
> enabling the InfluxDB v2 output plugin will write data to both v1.x and your {{< product-name >}} bucket.
|
||||
|
|
|
@ -18,7 +18,7 @@ The InfluxDB time series platform is designed to handle high write and query loa
|
|||
Learn how to use and leverage InfluxDB Clustered for your specific
|
||||
time series use case.
|
||||
|
||||
<a class="btn" href="{{< cta-link >}}">Contact InfluxData Sales</a>
|
||||
<a class="btn" href="{{< cta-link >}}">Run an {{% product-name %}} proof of concept (PoC)</a>
|
||||
<a class="btn" href="/influxdb3/clustered/get-started/">Get started with InfluxDB Clustered</a>
|
||||
|
||||
## InfluxDB 3
|
||||
|
|
|
@ -57,6 +57,11 @@ timestamp on the Parquet file entry in the Catalog.
|
|||
The Parquet file is no
|
||||
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
|
||||
|
||||
A _hard delete_ refers to when a Parquet file is actually deleted from object
|
||||
|
@ -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,6 +287,7 @@ using Catalog store snapshots:
|
|||
metadata:
|
||||
name: influxdb
|
||||
namespace: influxdb
|
||||
spec:
|
||||
pause: true
|
||||
# ...
|
||||
```
|
||||
|
@ -331,6 +346,7 @@ using Catalog store snapshots:
|
|||
metadata:
|
||||
name: influxdb
|
||||
namespace: influxdb
|
||||
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
|
||||
|
|
|
@ -52,7 +52,7 @@ never be removed by the retention enforcement service.
|
|||
You can customize [table (measurement) limits](#table-limit) and
|
||||
[table column limits](#column-limit) when you
|
||||
[create](#create-a-database) or
|
||||
[update a database](#update-a-database) in {{< product-name >}}.
|
||||
[update a database](#update-a-database) in {{% product-name %}}.
|
||||
|
||||
### Table limit
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue