Merge branch 'master' into smith/2.7.1/2
commit
8f54e8963b
|
@ -196,7 +196,7 @@ To query data from InfluxDB Cloud Dedicated using Python, use the
|
|||
[`pyinflux3` module](https://github.com/InfluxCommunity/pyinflux3).
|
||||
The following steps include setting up a Python virtual environment already
|
||||
covered in [Get started writing data](/influxdb/cloud-dedicated/get-started/write/?t=Python#write-line-protocol-to-influxdb).
|
||||
_If your projects virtual environment is already running, skip to step 3._
|
||||
_If your project's virtual environment is already running, skip to step 3._
|
||||
|
||||
1. Setup your Python virtual environment.
|
||||
Inside of your project directory:
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
title: Cancel your InfluxDB Cloud Serverless subscription
|
||||
description: >
|
||||
Cancel your InfluxDB Cloud account at any time by stopping all read and write
|
||||
requests, backing up data, and contacting InfluxData Support.
|
||||
weight: 106
|
||||
aliases:
|
||||
- /influxdb/v2.0/account-management/offboarding
|
||||
- /influxdb/v2.0/cloud/account-management/offboarding
|
||||
- /influxdb/cloud-serverless/admin/accounts/offboarding
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
parent: Manage accounts
|
||||
name: Cancel InfluxDB Cloud
|
||||
---
|
||||
|
||||
To cancel your InfluxDB Cloud Serverless subscription, complete the following steps:
|
||||
|
||||
1. [Stop reading and writing data](#stop-reading-and-writing-data).
|
||||
2. [Export data and other artifacts](#export-data-and-other-artifacts).
|
||||
3. [Cancel service](#cancel-service).
|
||||
|
||||
## Stop reading and writing data
|
||||
|
||||
To stop being charged for InfluxDB Cloud Serverless, pause all writes and queries.
|
||||
|
||||
## Export data and other artifacts
|
||||
|
||||
- [Save Telegraf configurations](#save-telegraf-configurations)
|
||||
- [Export data](#export-data)
|
||||
|
||||
### Save Telegraf configurations
|
||||
|
||||
1. Click the **Load Data** icon in the navigation bar.
|
||||
|
||||
{{< nav-icon "load-data" >}}
|
||||
|
||||
2. Select the **Telegraf** tab. A list of existing Telegraf configurations appears.
|
||||
3. Click the name of a Telegraf configuration.
|
||||
4. Click **Download Config** to save.
|
||||
|
||||
### Export data
|
||||
|
||||
To export all your data, query your data out in _time-based batches_ and store it
|
||||
in to an external system or an InfluxDB OSS instance.
|
||||
|
||||
<!-- For information about automatically exporting and migrating data from InfluxDB
|
||||
Cloud to InfluxDB OSS, see: [Migrate data from InfluxDB Cloud to InfluxDB OSS](/influxdb/cloud-serverless/migrate-data/migrate-cloud-to-oss/). -->
|
||||
|
||||
## Cancel service
|
||||
|
||||
{{% note %}}
|
||||
Cancelling your usage-based plan will delete your organization.
|
||||
However, those in multi-user organizations must contact
|
||||
[InfluxData Support](https://support.influxdata.com) to delete your organization.
|
||||
{{% /note %}}
|
||||
|
||||
1. Click the account name in the header of your InfluxDB Cloud Serverless
|
||||
user interface (UI) and select **Billing**.
|
||||
|
||||
2. Do one of the following:
|
||||
|
||||
- If you subscribed to an InfluxDB Cloud **Usage-Based Plan** through
|
||||
**AWS Marketplace**, click the **AWS** link, click **Unsubscribe**, and then
|
||||
click **Yes, cancel subscription**.
|
||||
- If you subscribed to an InfluxDB Cloud **Usage-Based Plan** through
|
||||
**GCP Marketplace**, click the **GCP** link, click **Unsubscribe**, and then
|
||||
click **Yes, cancel subscription**.
|
||||
- If you subscribed to an InfluxDB Cloud **Usage-Based Plan** through
|
||||
**InfluxData**, click **Cancel Service**.
|
||||
Select **I understand and agree to these conditions**, and then click
|
||||
**I understand, Cancel Service.** Click **Confirm and Cancel Service**.
|
||||
Your payment method is charged your final balance immediately upon
|
||||
cancellation of service.
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: Change your password
|
||||
seotitle: Change your InfluxDB Cloud password
|
||||
description: >
|
||||
To update your InfluxDB Cloud password, click the **Forgot Password** link on
|
||||
the [InfluxDB Cloud login page](https://cloud2.influxdata.com/login).
|
||||
Passwords must be at least 8 characters in length, and must not contain common words, personal information, or previous passwords.
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
name: Change your password
|
||||
parent: Manage accounts
|
||||
weight: 102
|
||||
alt_engine: /influxdb/cloud/account-management/change-password/
|
||||
---
|
||||
|
||||
To change or reset your InfluxDB Cloud password:
|
||||
|
||||
1. Click the **Forgot Password** link on the [InfluxDB Cloud login page](https://cloud2.influxdata.com/login).
|
||||
2. Open the **InfluxCloud: Password Change Requested** email sent to the email
|
||||
address associated with your InfluxDB Cloud account, click the **Reset Password**
|
||||
button, and then enter and confirm a new password.
|
||||
|
||||
### Password requirements
|
||||
|
||||
Passwords must meet the following requirements:
|
||||
|
||||
- Must be longer than 8 characters.
|
||||
- Must not contain personal information.
|
||||
- Must not be a common or previous password.
|
||||
|
||||
These requirements follow the National Institute of Standards and Technology (NIST) standards for 2021.
|
|
@ -7,7 +7,7 @@ menu:
|
|||
influxdb_cloud_serverless:
|
||||
name: Switch InfluxDB accounts
|
||||
parent: Manage accounts
|
||||
weight: 105
|
||||
weight: 101
|
||||
aliases:
|
||||
- /influxdb/cloud-serverless/account-management/switch-account/
|
||||
alt_engine: /influxdb/cloud/account-management/switch-account/
|
||||
|
|
|
@ -0,0 +1,138 @@
|
|||
---
|
||||
title: Manage InfluxDB Cloud Serverless billing
|
||||
list_title: Manage billing
|
||||
description: >
|
||||
Upgrade to the InfluxDB Cloud Serverless Usage-Based Plan and manage your billing information.
|
||||
weight: 106
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
parent: Administer InfluxDB Cloud
|
||||
name: Manage billing
|
||||
alt_engine: /influxdb/cloud/account-management/billing/
|
||||
---
|
||||
|
||||
Learn how to upgrade your plan, access billing details, and review and resolve plan limit overages:
|
||||
|
||||
- [Upgrade to Usage-Based Plan](#upgrade-to-usage-based-plan)
|
||||
- [Access billing details](#access-billing-details):
|
||||
- [Add or update your payment method](#add-or-update-your-payment-method)
|
||||
- [Add or update your contact information](#add-or-update-your-contact-information)
|
||||
- [Send notifications when usage exceeds an amount](#send-notifications-when-usage-exceeds-an-amount#send-notifications-when-usage-exceeds-an-amount)
|
||||
- [View Usage-based Plan information](#view-usage-based-plan-information)
|
||||
- [View Free Plan information](#view-free-plan-information)
|
||||
- [Review and resolve plan limit overages](#review-and-resolve-plan-limit-overages)
|
||||
- [Billing cycle](#billing-cycle)
|
||||
- [Declined or late payments](#declined-or-late-payments)
|
||||
|
||||
## Upgrade to Usage-Based Plan
|
||||
|
||||
1. Click **Upgrade Now** in the upper right corner of the {{< cloud-name "short" >}}
|
||||
user interface (UI).
|
||||
2. Set your limits (opt to receive an email when your usage exceeds the amount
|
||||
you enter in the **Limit ($1 minimum)** field).
|
||||
All service updates, security notifications, and other important information
|
||||
are sent to the email address you provide.
|
||||
3. Enter your payment information and billing address, and then click **Upgrade**.
|
||||
A "Ready To Rock" confirmation appears; click **Start building your team**.
|
||||
Your plan will be upgraded and {{< cloud-name >}} opens with a default
|
||||
organization and bucket (both created from your email address).
|
||||
|
||||
## Access billing details
|
||||
|
||||
1. In the {{< cloud-name "short" >}} UI, select the **user avatar** in the left
|
||||
navigation menu, and select **Account** >
|
||||
**Billing**.
|
||||
|
||||
{{< nav-icon "account" >}}
|
||||
|
||||
2. Do one of the following:
|
||||
|
||||
- If you subscribed to an InfluxDB Cloud plan through
|
||||
[**AWS Marketplace**](https://aws.amazon.com/marketplace/pp/B08234JZPS),
|
||||
[**Azure Marketplace**](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/influxdata.influxdb-cloud),
|
||||
or [**GCP Marketplace**](https://console.cloud.google.com/marketplace/details/influxdata-public/cloud2-gcp-marketplace-prod?pli=1),
|
||||
click the **AWS**, **Microsoft**, or **GCP** link to access your billing and
|
||||
subscription information.
|
||||
|
||||
- If you subscribed to an InfluxDB Cloud plan through **InfluxData**, complete the following procedures as needed:
|
||||
|
||||
- [Add or update your payment method](#add-or-update-your-payment-method)
|
||||
- [Add or update your contact information](#add-or-update-your-contact-information)
|
||||
- [Send notifications when usage exceeds an amount](#send-notifications-when-usage-exceeds-an-amount)
|
||||
|
||||
3. View information about:
|
||||
|
||||
- [Usage-Based Plan](#view-usage-based-plan-information)
|
||||
- [Free Plan](#view-free-plan-information)
|
||||
- [Exceeded rate limits](#review-and-resolve-plan-limit-overages)
|
||||
- [Billing cycle](#billing-cycle)
|
||||
- [Declined or late payments](#declined-or-late-payments)
|
||||
|
||||
### Add or update your payment method
|
||||
|
||||
- On the **Billing page**:
|
||||
- To update your card, click the **Change Payment** button on the Billing page.
|
||||
- In the **Payment Method** section:
|
||||
- Enter your cardholder name and number
|
||||
- Select your expiration month and year
|
||||
- Enter your CVV code and select your card type
|
||||
|
||||
### Add or update your contact information
|
||||
|
||||
1. On the **Billing page**:
|
||||
- To update, click the **Edit Information** button.
|
||||
- In the **Contact Information** section, enter your name, company, and address.
|
||||
2. Click **Save Contact Info**.
|
||||
|
||||
### Send notifications when usage exceeds an amount
|
||||
|
||||
1. On the **Billing page**, click **Notification Settings**.
|
||||
2. Select the **Send email notification** toggle, and then enter the email address to notify.
|
||||
3. Enter the dollar amount to trigger a notification email. By default, an email is triggered when the amount exceeds $10. (Whole dollar amounts only. For example, $10.50 is not a supported amount.)
|
||||
|
||||
### View Usage-based Plan information
|
||||
|
||||
On the **Billing page**, view your billing information, including:
|
||||
|
||||
- Account balance
|
||||
- Last billing update (updated hourly)
|
||||
- Past invoices
|
||||
- Payment method
|
||||
- Contact information
|
||||
- Notification settings
|
||||
|
||||
### View Free Plan information
|
||||
|
||||
On the **Billing page**, view the total limits available for the Free Plan.
|
||||
|
||||
## Review and resolve plan limit overages
|
||||
|
||||
If you exceed your plan's [adjustable quotas or limits](/influxdb/cloud-serverless/account-management/limits/), you'll receive a notification in the {{< cloud-name "short" >}} user interface (UI) **Usage** page.
|
||||
|
||||
To raise your oranization's rate limits:
|
||||
|
||||
- **Usage-Based plan**: Contact [InfluxData Support](https://support.influxdata.com)
|
||||
to request higher rate limits.
|
||||
- **Free plan**: [Upgrade to a Usage-based Plan](#upgrade-to-usage-based-plan).
|
||||
|
||||
#### Write and query limits (HTTP response code)
|
||||
|
||||
When a request exceeds your plan's write requests (Data In) or query requests (Reads) within a five minute window, the InfluxDB API returns the following response:
|
||||
|
||||
```
|
||||
HTTP 429 “Too Many Requests”
|
||||
Retry-After: xxx (seconds to wait before retrying the request)
|
||||
```
|
||||
|
||||
## Billing cycle
|
||||
|
||||
Billing occurs on the first day of the month for the previous month. For example, if you start the Usage-based Plan on September 15, you're billed on October 1 for your usage from September 15-30.
|
||||
|
||||
### Declined or late payments
|
||||
|
||||
| Timeline | Action |
|
||||
| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Initial declined payment** | We'll retry charge every 72 hours. During this period, update your payment method to successfully process your payment. |
|
||||
| **One week later** | Account disabled except data writes. Update your payment method to successfully process your payment and enable your account. |
|
||||
| **10-14 days later** | Account completely disabled. During this period, you must contact us at [support.influxdata.com](https://support.influxdata.com) to process your payment and enable your account. |
|
||||
| **21 days later** | Account suspended. Contact [support.influxdata.com](https://support.influxdata.com) to settle your final bill and retrieve a copy of your data or access to InfluxDB Cloud dashboards, tasks, Telegraf configurations, and so on. |
|
|
@ -6,19 +6,19 @@ description: >
|
|||
weight: 103
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
parent: Manage accounts
|
||||
parent: Manage billing
|
||||
name: View data usage
|
||||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
alt_engine: /influxdb/cloud/account-management/data-usage/
|
||||
aliases:
|
||||
- /influxdb/cloud-serverless/admin/accounts/data-usage/
|
||||
---
|
||||
|
||||
View the statistics of your data usage and rate limits (reads, writes, and
|
||||
delete limits) on the InfluxDB Cloud Serverless UI **Usage** page.
|
||||
Some usage data affects monthly costs and other usage data (for example, delete
|
||||
limits), does not affect pricing. For more information, see
|
||||
[limits and adjustable quotas](/influxdb/cloud-serverless/admin/accounts/limits/).
|
||||
View the statistics of your data usage and rate limits (reads and writes) on the
|
||||
InfluxDB Cloud Serverless UI **Usage** page.
|
||||
For more information, see [limits and adjustable quotas](/influxdb/cloud-serverless/admin/billing/limits/).
|
||||
|
||||
To view your {{< cloud-name >}} data usage, do the following:
|
||||
|
||||
|
@ -29,9 +29,7 @@ To view your {{< cloud-name >}} data usage, do the following:
|
|||
- **Data In:** Total data in MB written to your {{< cloud-name "short" >}} instance.
|
||||
Data in and write requests do not count towards your query count.
|
||||
- **Query Count:** Total number of individual query operations, which include
|
||||
queries, tasks (alerts, notifications) and Data Explorer activity.
|
||||
Note, a script that includes multiple requests (for example, has multiple
|
||||
`from()...` lines) counts as one query.
|
||||
queries from external clients.
|
||||
- **Storage:** Total disk usage in gigabytes.
|
||||
- **Data Out:** Total data in MB sent as responses to queries from your
|
||||
InfluxDB Cloud Serverless instance.
|
|
@ -6,19 +6,21 @@ description: >
|
|||
weight: 110
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
parent: Manage accounts
|
||||
parent: Manage billing
|
||||
name: Adjustable quotas and limits
|
||||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
alt_engine: /influxdb/cloud/account-management/limits/
|
||||
aliases:
|
||||
- /influxdb/cloud-serverless/admin/accounts/limits/
|
||||
---
|
||||
|
||||
InfluxDB Cloud Serverless applies (non-adjustable) global system limits and
|
||||
adjustable service quotas on a per organization basis.
|
||||
|
||||
{{% warn %}}
|
||||
All __rates__ (data-in (writes), queries (reads), and deletes) are accrued within a fixed five-minute window.
|
||||
All __rates__ (data-in (writes), and queries (reads)) are accrued within a fixed five-minute window.
|
||||
Once a rate is exceeded, an error response is returned until the current five-minute window resets.
|
||||
{{% /warn %}}
|
||||
|
||||
|
@ -44,12 +46,6 @@ _To request higher service quotas, reach out to [InfluxData Support](https://sup
|
|||
- Bytes in HTTP in response payload
|
||||
- **Available resources**:
|
||||
- 2 buckets (excluding `_monitoring` and `_tasks` buckets)
|
||||
- 5 dashboards
|
||||
- 5 tasks
|
||||
- **Alerts**:
|
||||
- 2 checks
|
||||
- 2 notification rules
|
||||
- Unlimited Slack notification endpoints
|
||||
- **Storage**: 30 days of data retention (see [retention period](/influxdb/cloud-serverless/reference/glossary/#retention-period))
|
||||
|
||||
{{% note %}}
|
||||
|
@ -63,20 +59,17 @@ To write historical data older than 30 days, retain data for more than 30 days,
|
|||
- **Read**: Rate of 3 GB data per 5 minutes
|
||||
- Bytes in HTTP in response payload
|
||||
- **Unlimited resources**
|
||||
- dashboards
|
||||
- tasks
|
||||
- buckets
|
||||
- users
|
||||
- **Alerts**
|
||||
- Unlimited checks
|
||||
- Unlimited notification rules
|
||||
- Unlimited notification endpoints for [all endpoints](/flux/v0.x/tags/notification-endpoints/)
|
||||
- **Storage**: Set your retention period to unlimited or up to 1 year by [updating a bucket’s retention period in the InfluxDB UI](/influxdb/cloud-serverless/admin/buckets/update-bucket/#update-a-buckets-retention-period-in-the-influxdb-ui), or set a custom retention period using the [`influx bucket update command`](/influxdb/cloud-serverless/reference/cli/influx/bucket/update/) with the [`influx` CLI](influxdb/cloud/reference/cli/influx/).
|
||||
- **Storage**: Set your retention period to unlimited or up to 1 year by
|
||||
[updating a bucket’s retention period in the InfluxDB UI](/influxdb/cloud-serverless/admin/buckets/update-bucket/#update-a-buckets-retention-period-in-the-influxdb-ui),
|
||||
or set a custom retention period using the [`influx bucket update command`](/influxdb/cloud-serverless/reference/cli/influx/bucket/update/)
|
||||
with the [`influx` CLI](influxdb/cloud-serverless/reference/cli/influx/).
|
||||
|
||||
## Global limits
|
||||
|
||||
InfluxDB Cloud Serverless applies global (non-adjustable) system limits to all accounts,
|
||||
which protects the InfluxDB Cloud infrastructure for all users.
|
||||
which protects the InfluxDB Cloud Serverless infrastructure for all users.
|
||||
As the service continues to evolve, we'll continue to review these global limits
|
||||
and adjust them as appropriate.
|
||||
|
||||
|
@ -89,18 +82,20 @@ Limits include:
|
|||
- **Total query time**: 1500 seconds of _total_ query time every 30 seconds
|
||||
- **Task processing time**: 150 seconds
|
||||
- **Total task time**: 1500 seconds of _total_ task time every 30 seconds
|
||||
- **Delete request limit**: Rate of 300 every 5 minutes
|
||||
|
||||
<!-- - **Delete request limit**: Rate of 300 every 5 minutes -->
|
||||
<!--
|
||||
{{% note %}}
|
||||
**Tip:**
|
||||
Combine delete predicate expressions (if possible) into a single request. InfluxDB limits delete requests by number of requests (not points per request).
|
||||
{{% /note %}}
|
||||
{{% /note %}} -->
|
||||
|
||||
## UI error messages
|
||||
|
||||
The {{< cloud-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-serverless/admin/accounts/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-serverless/admin/billing/data-usage/)
|
||||
under **Limit Events**, e.g. `event_type_limited_query`, `event_type_limited_write`,
|
||||
or `event_type_limited_delete_rate`.
|
||||
|
||||
## API error responses
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
title: InfluxDB Cloud Serverless plans
|
||||
description: >
|
||||
InfluxDB Cloud provides two pricing plans to fit your needs – the Free Plan and the Usage-based Plan.
|
||||
aliases:
|
||||
- /influxdb/v2.0/cloud/rate-limits/
|
||||
- /influxdb/v2.0/cloud/pricing-plans/
|
||||
- /influxdb/v2.0/pricing-plans/
|
||||
weight: 102
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
parent: Manage billing
|
||||
name: Pricing plans
|
||||
alt_engine: /influxdb/cloud/account-management/pricing-plans/
|
||||
---
|
||||
|
||||
InfluxDB Cloud Serverless offers a [Free Plan](#free-plan), a [Usage-Based Plan](#usage-based-plan) to pay as you go, and a discounted [Annual Plan](#annual-plan).
|
||||
|
||||
<!--To estimate your projected usage costs, use the [InfluxDB Cloud pricing calculator](/influxdb/cloud-serverless/account-management/pricing-calculator/). -->
|
||||
|
||||
## Free Plan
|
||||
|
||||
New {{< cloud-name >}} accounts start with the Free Plan that provides a limited
|
||||
number of resources and data usage.
|
||||
See [plan limits](/influxdb/cloud-serverless/admin/billing/limits/).
|
||||
|
||||
## Usage-Based Plan
|
||||
|
||||
The Usage-Based Plan offers more flexibility and ensures you only pay for what you
|
||||
[use](/influxdb/cloud-serverless/admin/billing/data-usage/).
|
||||
Usage-Based Plans are based on consumption as measured by usage on the [pricing vectors](#pricing-vectors).
|
||||
|
||||
### Pricing vectors
|
||||
|
||||
The Usage-Based Plan uses the following pricing vectors to calculate InfluxDB Cloud billing costs:
|
||||
|
||||
- **Data out** is the total sum of the data (measured in GB) returned to the
|
||||
user to answer a query, also known as data transfer costs.
|
||||
- **Query count** is the total number of individual query operations:
|
||||
- Each individual query operation—including those from external clients—is one billable query operation.
|
||||
- Failed operations aren’t counted.
|
||||
- **Data In** is the amount of data you’re writing into InfluxDB Cloud (measured in MB).
|
||||
- **Storage** is the amount of data you’re storing in InfluxDB Cloud (measured in GB/hour).
|
||||
|
||||
Discover how to [manage InfluxDB Cloud Serverless billing](/influxdb/cloud-serverless/admin/billing/).
|
||||
|
||||
## Annual Plan
|
||||
<!-- Maybe this should be "annual commitment"? -->
|
||||
|
||||
An Annual Plan offers a discount for a commitment to a specific amount of usage over set period of time. This plan uses the same pricing vectors and calculation methodology as Usage-Based Plans.
|
||||
|
||||
__Interested in an Annual Plan? Reach out to [InfluxData Sales](https://www.influxdata.com/contact-sales/).__
|
||||
|
||||
<!-- ## Pricing FAQs -->
|
|
@ -0,0 +1,500 @@
|
|||
---
|
||||
title: Use Java and the Flight SQL package to query data
|
||||
description: >
|
||||
Use Java and the `org.apache.arrow.flight.sql` Flight SQL package to query data
|
||||
stored in an InfluxDB Cloud Serverless bucket.
|
||||
weight: 101
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
parent: Query with Flight SQL
|
||||
name: Use Java
|
||||
identifier: query_with_java
|
||||
influxdb/cloud-serverless/tags: [query, flightsql, java]
|
||||
related:
|
||||
- /influxdb/cloud-serverless/query-data/sql/
|
||||
list_code_example: |
|
||||
```java
|
||||
public class Query {
|
||||
public static void main(String[] args) {
|
||||
String query = "SELECT * FROM home";
|
||||
Location location = Location.forGrpcTls(HOST, 443);
|
||||
|
||||
CredentialCallOption auth = new CredentialCallOption(new BearerCredentialWriter(TOKEN));
|
||||
BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);
|
||||
|
||||
FlightClientMiddleware.Factory f = info -> new FlightClientMiddleware() {
|
||||
@Override
|
||||
public void onBeforeSendingHeaders(CallHeaders outgoingHeaders) {
|
||||
outgoingHeaders.insert(DATABASE_FIELD, DATABASE_NAME);
|
||||
}
|
||||
};
|
||||
|
||||
FlightClient client = FlightClient.builder(allocator, location)
|
||||
.intercept(f)
|
||||
.build();
|
||||
FlightSqlClient sqlClient = new FlightSqlClient(client);
|
||||
FlightInfo flightInfo = sqlClient.execute(query, auth);
|
||||
}
|
||||
}
|
||||
```
|
||||
---
|
||||
|
||||
Use Java and the Flight SQL package to query data stored in an InfluxDB Cloud
|
||||
Serverless bucket.
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [Get started using Java to query InfluxDB](#get-started-using-java-to-query-influxdb)
|
||||
- [Set up InfluxDB](#set-up-influxdb)
|
||||
- [Install prerequisites](#install-prerequisites)
|
||||
- [Create the FlightQuery class](#create-the-flightquery-class)
|
||||
- [Create a query client](#create-a-query-client)
|
||||
- [Execute a query](#execute-a-query)
|
||||
- [Retrieve and process Arrow data](#retrieve-and-process-arrow-data)
|
||||
- [Run the application](#run-the-application)
|
||||
- [Troubleshoot Arrow Flight requests](#troubleshoot-arrow-flight-requests)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## Get started using Java to query InfluxDB
|
||||
|
||||
Write a Java class for a Flight SQL client that connects to InfluxDB Cloud Serverless,
|
||||
executes an SQL query, and retrieves data stored in an InfluxDB Cloud Serverless bucket.
|
||||
|
||||
The example uses the [Apache Arrow Java implementation (`org.apache.arrow`)](https://arrow.apache.org/docs/java/index.html) for interacting with Flight database servers like InfluxDB v3.
|
||||
|
||||
- **`org.apache.arrow`**: Provides classes and methods for integrating Java applications with Apache Arrow data and protocols.
|
||||
- **`org.apache.arrow.flight.sql`**: Provides classes and methods for
|
||||
interacting with Flight database servers using Arrow Flight RPC and Flight SQL.
|
||||
|
||||
1. [Set up InfluxDB](#set-up-influxdb)
|
||||
2. [Install prerequisites](#install-prerequisites)
|
||||
3. [Create the FlightQuery class](#create-the-flightquery-class)
|
||||
4. [Create a query client](#create-a-query-client)
|
||||
5. [Execute a query](#execute-a-query)
|
||||
6. [Retrieve and process Arrow data](#retrieve-and-process-arrow-data)
|
||||
|
||||
To clone or download the example application that you can run with Docker, see the [InfluxCommunity/ArrowFlightClient_Query_Examples repo](https://github.com/InfluxCommunity/ArrowFlightClient_Query_Examples) on GitHub.
|
||||
|
||||
### Set up InfluxDB
|
||||
|
||||
To configure the application for querying InfluxDB Cloud Serverless, you'll need the following InfluxDB resources:
|
||||
|
||||
- InfluxDB Cloud Serverless **bucket**
|
||||
- InfluxDB Cloud Serverless **API token** with _read_ permission to the bucket
|
||||
|
||||
If you don't already have an API token and a bucket, see how to [set up InfluxDB](/influxdb/cloud-serverless/get-started/setup/).
|
||||
If you don't already have data to query, see how to
|
||||
[write data](/influxdb/cloud-serverless/get-started/write/) to a bucket.
|
||||
|
||||
### Install prerequisites
|
||||
|
||||
We recommend using Docker and Maven for building and running the Java application and avoiding platform-specific dependency problems.
|
||||
|
||||
The example `Dockerfile` installs compatible versions of Maven
|
||||
and Java JDK in the Docker container, and then runs the Maven commands to download dependencies and compile the application.
|
||||
|
||||
Follow the instructions to download and install Docker for your system:
|
||||
|
||||
- **macOS**: [Install Docker for macOS](https://docs.docker.com/desktop/install/mac-install/)
|
||||
- **Linux**: [Install Docker for Linux](https://docs.docker.com/desktop/install/linux-install/)
|
||||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "View the Dockerfile" %}}
|
||||
|
||||
```dockerfile
|
||||
# Use the official Maven image as the base image
|
||||
FROM maven:3.8.3-openjdk-11 AS build
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Copy the pom.xml file into the container
|
||||
COPY pom.xml .
|
||||
|
||||
# Download and cache dependencies
|
||||
RUN mvn dependency:go-offline
|
||||
|
||||
# Copy the rest of the source code into the container
|
||||
COPY src/ ./src/
|
||||
|
||||
# Compile the source code and copy dependencies
|
||||
RUN mvn compile dependency:copy-dependencies
|
||||
|
||||
# Use the official OpenJDK image as the runtime base image
|
||||
FROM openjdk:11-jre-slim
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Copy the compiled classes and dependencies from the build stage
|
||||
COPY --from=build /app/target/classes ./classes
|
||||
COPY --from=build /app/target/dependency ./dependency
|
||||
|
||||
# Set ARGs for --build-arg options passed in the build command
|
||||
ARG DATABASE_FIELD
|
||||
ARG DATABASE_NAME
|
||||
ARG HOST
|
||||
ARG TOKEN
|
||||
|
||||
# Set run-time ENVs from ARGs
|
||||
ENV DATABASE_FIELD=${DATABASE_FIELD}
|
||||
ENV DATABASE_NAME=${DATABASE_NAME}
|
||||
ENV HOST=${HOST}
|
||||
ENV TOKEN=${TOKEN}
|
||||
|
||||
# Set the entrypoint to run your Java application
|
||||
ENTRYPOINT ["java", "-cp", "classes:dependency/*", "com.influxdb.examples.FlightExamples"]
|
||||
```
|
||||
{{% /expand %}}
|
||||
|
||||
{{% expand "View the Maven pom.xml" %}}
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.influxdb</groupId>
|
||||
<artifactId>examples</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifest>
|
||||
<addClasspath>true</addClasspath>
|
||||
<classpathPrefix>lib/</classpathPrefix>
|
||||
<mainClass>com.influxdb.examples.FlightExamples</mainClass>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-help-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.4.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<shadedArtifactAttached>true</shadedArtifactAttached>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<minimizeJar>false</minimizeJar>
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>*:*</artifact>
|
||||
<excludes>
|
||||
<exclude>META-INF/*.SF</exclude>
|
||||
<exclude>META-INF/*.DSA</exclude>
|
||||
<exclude>META-INF/*.RSA</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.arrow</groupId>
|
||||
<artifactId>flight-sql</artifactId>
|
||||
<version>11.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-all</artifactId>
|
||||
<version>4.1.74.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-simple</artifactId>
|
||||
<version>1.7.30</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
```
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
### Create the FlightQuery class
|
||||
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "View FlightQuery.java" %}}
|
||||
|
||||
```java
|
||||
package com.influxdb.examples;
|
||||
|
||||
import org.apache.arrow.flight.auth2.BearerCredentialWriter;
|
||||
import org.apache.arrow.flight.CallHeaders;
|
||||
import org.apache.arrow.flight.CallStatus;
|
||||
import org.apache.arrow.flight.grpc.CredentialCallOption;
|
||||
import org.apache.arrow.flight.Location;
|
||||
import org.apache.arrow.flight.FlightClient;
|
||||
import org.apache.arrow.flight.FlightClientMiddleware;
|
||||
import org.apache.arrow.flight.FlightInfo;
|
||||
import org.apache.arrow.flight.FlightStream;
|
||||
import org.apache.arrow.flight.sql.FlightSqlClient;
|
||||
import org.apache.arrow.flight.Ticket;
|
||||
import org.apache.arrow.memory.BufferAllocator;
|
||||
import org.apache.arrow.memory.RootAllocator;
|
||||
import org.apache.arrow.vector.VectorSchemaRoot;
|
||||
|
||||
public class FlightQuery {
|
||||
|
||||
/* Get server credentials from environment variables */
|
||||
public static final String DATABASE_NAME = System.getenv("DATABASE_NAME");
|
||||
public static final String HOST = System.getenv("HOST");
|
||||
public static final String TOKEN = System.getenv("TOKEN");
|
||||
|
||||
public static void main() {
|
||||
|
||||
System.out.println("Query InfluxDB with the Java Flight SQL Client");
|
||||
|
||||
// Create an interceptor that injects header metadata (database name) in every request.
|
||||
FlightClientMiddleware.Factory f = info -> new FlightClientMiddleware() {
|
||||
@Override
|
||||
public void onBeforeSendingHeaders(CallHeaders outgoingHeaders) {
|
||||
outgoingHeaders.insert("database", DATABASE_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHeadersReceived(CallHeaders incomingHeaders) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallCompleted(CallStatus status) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
// Create a gRPC+TLS channel URI with HOST and port 443.
|
||||
Location location = Location.forGrpcTls(HOST, 443);
|
||||
|
||||
// Set the allowed memory.
|
||||
BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);
|
||||
|
||||
// Create a client with the allocator and gRPC channel.
|
||||
FlightClient client = FlightClient.builder(allocator, location)
|
||||
.intercept(f)
|
||||
.build();
|
||||
System.out.println("client" + client);
|
||||
|
||||
FlightSqlClient sqlClient = new FlightSqlClient(client);
|
||||
System.out.println("sqlClient: " + sqlClient);
|
||||
|
||||
// Define the SQL query to execute.
|
||||
String query = "SELECT * FROM home";
|
||||
|
||||
/* Construct a bearer credential using TOKEN.
|
||||
Construct a credentials option using the bearer credential.
|
||||
*/
|
||||
CredentialCallOption auth = new CredentialCallOption(new BearerCredentialWriter(TOKEN));
|
||||
|
||||
/* Execute the query.
|
||||
If successful, execute returns a FlightInfo object that contains metadata
|
||||
and an endpoints list.
|
||||
Each endpoint contains the following:
|
||||
- A list of addresses where you can retrieve the data.
|
||||
- A `ticket` value that identifies the data to retrieve.
|
||||
*/
|
||||
FlightInfo flightInfo = sqlClient.execute(query, auth);
|
||||
|
||||
// Extract the Flight ticket from the response.
|
||||
Ticket ticket = flightInfo.getEndpoints().get(0).getTicket();
|
||||
|
||||
// Pass the ticket to request the Arrow stream data from the endpoint.
|
||||
final FlightStream stream = sqlClient.getStream(ticket, auth);
|
||||
|
||||
// Process all the Arrow stream data.
|
||||
while (stream.next()) {
|
||||
try {
|
||||
// Get the current vector data from the stream.
|
||||
final VectorSchemaRoot root = stream.getRoot();
|
||||
System.out.println(root.contentToTSVString());
|
||||
} catch (Exception e) {
|
||||
// Handle exceptions.
|
||||
System.out.println("Error executing FlightSqlClient: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
try {
|
||||
// Close the stream and release resources.
|
||||
stream.close();
|
||||
} catch (Exception e) {
|
||||
// Handle exceptions.
|
||||
System.out.println("Error closing stream: " + e.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
// Close the client
|
||||
sqlClient.close();
|
||||
} catch (Exception e) {
|
||||
// Handle exceptions.
|
||||
System.out.println("Error closing client: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
|
||||
1. In your `<PROJECT_ROOT>/src/main/java` directory, create the `com/influxdb/examples` subdirectories for the `com.influxdb.examples` package.
|
||||
2. In the `examples` directory from the preceding step, create the `FlightQuery.java` class file.
|
||||
You should have the following directory structure:
|
||||
<!-- Can't make filesystem-diagram shortcode indent properly -->
|
||||
```
|
||||
PROJECT_ROOT
|
||||
└──src
|
||||
└──main
|
||||
└──java
|
||||
└──com
|
||||
└──influxdb
|
||||
└──examples
|
||||
└──FlightQuery.java
|
||||
```
|
||||
|
||||
3. In `FlightQuery.java`:
|
||||
|
||||
1. Add the package name:
|
||||
|
||||
```java
|
||||
package com.influxdb.examples;
|
||||
```
|
||||
|
||||
2. Add `import` statements for the following packages. You'll use classes and methods
|
||||
from these packages in the remaining steps:
|
||||
|
||||
- `org.apache.arrow.flight.auth2.BearerCredentialWriter`
|
||||
- `org.apache.arrow.flight.CallHeaders`
|
||||
- `org.apache.arrow.flight.CallStatus`
|
||||
- `org.apache.arrow.flight.grpc.CredentialCallOption`
|
||||
- `org.apache.arrow.flight.Location`
|
||||
- `org.apache.arrow.flight.FlightClient`
|
||||
- `org.apache.arrow.flight.FlightClientMiddleware`
|
||||
- `org.apache.arrow.flight.FlightInfo`
|
||||
- `org.apache.arrow.flight.FlightStream`
|
||||
- `org.apache.arrow.flight.sql.FlightSqlClient`
|
||||
- `org.apache.arrow.flight.Ticket`
|
||||
- `org.apache.arrow.memory.BufferAllocator`
|
||||
- `org.apache.arrow.memory.RootAllocator`
|
||||
- `org.apache.arrow.vector.VectorSchemaRoot`
|
||||
|
||||
3. Create a `FlightQuery` class.
|
||||
4. In the `FlightQuery` class:
|
||||
|
||||
1. Define constants for server credentials.
|
||||
- `DATABASE_NAME`
|
||||
- `HOST`
|
||||
- `TOKEN`
|
||||
|
||||
_The example `Dockerfile` defines environment variables for
|
||||
these credentials._
|
||||
|
||||
2. Create a `main()` method.
|
||||
|
||||
### Create a query client
|
||||
|
||||
In the `FlightQuery.main()` method, do the following to create an SQL client that can connect to `HOST` and `DATABASE_NAME`:
|
||||
|
||||
1. Construct a _gRPC+TLS_ channel URI with `HOST` and port `443` for communicating with a [gRPC server over TLS](https://grpc.io/docs/guides/auth/#with-server-authentication-ssltls-4).
|
||||
2. Instantiate `FlightClientMiddleware` and define an event callback
|
||||
that inserts the following Flight request metadata header property:
|
||||
|
||||
```json
|
||||
"database": "DATABASE_NAME"
|
||||
```
|
||||
|
||||
3. Instantiate a `BufferAllocator` that sets the memory allowed for the client.
|
||||
4. Create a `FlightClient` with the allocator and gRPC channel.
|
||||
5. Instantiate a `FlightSqlClient` that wraps the `FlightClient` instance.
|
||||
|
||||
### Execute a query
|
||||
|
||||
In the `FlightQuery.main` method:
|
||||
|
||||
1. Instantiate a `CredentialCallOption` with `TOKEN` as a _bearer_ credential.
|
||||
The result is a credential object that you'll pass in each request to the server.
|
||||
2. Define a string that contains the SQL query to execute--for example:
|
||||
|
||||
```java
|
||||
String query = "SELECT * FROM home";
|
||||
```
|
||||
|
||||
3. Call the `FlightSqlClient.execute` method with the SQL query and the `CredentialCallOption`.
|
||||
4. If successful, the `FlightSqlClient.execute` method responds with a `FlightInfo` object that contains metadata and an `endpoints: [...]` list.
|
||||
Each endpoint contains the following:
|
||||
|
||||
- A list of addresses where you can retrieve the data.
|
||||
- A `ticket` value that identifies the data to retrieve.
|
||||
5. Extract the ticket from the response.
|
||||
|
||||
### Retrieve and process Arrow data
|
||||
|
||||
In the `FlightQuery.main()` method, do the following to retrieve the data stream described in the `FlightInfo` response:
|
||||
|
||||
1. Call the `FlightSqlClient.getStream` method with the _ticket_ and the `CredentialCallOption` to fetch the [Arrow stream](https://arrow.apache.org/docs/format/CStreamInterface.html).
|
||||
2. Call the `FlightStream.getRoot` method to get the current vector data from the stream.
|
||||
3. Process the data and handle exceptions. The example converts the vector data into tab-separated values and prints the result to `System.out`.
|
||||
|
||||
For more examples using Java to work with Arrow data, see the [Apache Arrow Java Cookbook](https://arrow.apache.org/cookbook/java/).
|
||||
|
||||
4. Finally, close the stream and client.
|
||||
|
||||
### Run the application
|
||||
|
||||
Follow these steps to build and run the application using Docker:
|
||||
|
||||
1. Copy the `Dockerfile` and `pom.xml` to your project root directory.
|
||||
2. Open a terminal in your project root directory.
|
||||
3. In your terminal, run the `docker build` command and pass `--build-arg` flags for the server credentials:
|
||||
|
||||
- **`DATABASE_NAME`**: your [InfluxDB Cloud Serverless bucket](/influxdb/cloud-serverless/admin/buckets/)
|
||||
- **`HOST`**: your [InfluxDB Cloud Serverless region](/influxdb/cloud-serverless/reference/regions/) hostname (URL without the "https://")
|
||||
- **`TOKEN`**: your [InfluxDB Cloud Serverless API token](/influxdb/cloud-serverless/get-started/setup/) with _read_ permission to the bucket
|
||||
|
||||
```sh
|
||||
docker build \
|
||||
--build-arg DATABASE_NAME=INFLUX_BUCKET \
|
||||
--build-arg HOST=cloud2.influxdata.com \
|
||||
--build-arg TOKEN=INFLUX_TOKEN \
|
||||
-t javaflight .
|
||||
```
|
||||
|
||||
The command builds a Docker image named `javaflight`.
|
||||
|
||||
4. To run the application in a new Docker container, enter the following command:
|
||||
|
||||
```sh
|
||||
docker run javaflight
|
||||
```
|
||||
|
||||
The output is the query data in TSV-format.
|
||||
|
||||
## Troubleshoot Arrow Flight requests
|
||||
|
||||
For the list of Arrow Flight error response codes, see the [Arrow Flight RPC documentation](https://arrow.apache.org/docs/format/Flight.html#error-handling).
|
|
@ -4,11 +4,11 @@ description: The Go Flight SQL client integrates with golang scripts and applica
|
|||
external_url: https://pkg.go.dev/github.com/apache/arrow/go/v12/arrow/flight/flightsql
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
name: Go Flight SQL client
|
||||
name: Go
|
||||
parent: Flight SQL clients
|
||||
identifier: go-flightsql-client
|
||||
params:
|
||||
url: https://pkg.go.dev/github.com/apache/arrow/go/v12/arrow/flight/flightsql
|
||||
identifier: go-flightsql
|
||||
influxdb/cloud-serverless/tags: [Golang, gRPC, SQL, Flight SQL, client libraries]
|
||||
weight: 201
|
||||
---
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: Java Flight SQL package
|
||||
description: The `org.apache.arrow.flight.sql` package integrates with Java applications to query and retrieve data from Flight database servers using RPC and SQL.
|
||||
external_url: https://arrow.apache.org/docs/java/reference/org/apache/arrow/flight/sql/package-summary.html
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
name: Java
|
||||
parent: Flight SQL clients
|
||||
identifier: java-flightsql-client
|
||||
params:
|
||||
url: https://arrow.apache.org/docs/java/reference/org/apache/arrow/flight/sql/package-summary.html
|
||||
influxdb/cloud-serverless/tags: [Java, gRPC, SQL, Flight SQL, client libraries]
|
||||
weight: 201
|
||||
---
|
||||
|
||||
The [`org.apache.arrow.flight.sql`](https://arrow.apache.org/docs/java/reference/org/apache/arrow/flight/sql/package-summary.html) package integrates with Java applications to query and retrieve data from Flight database servers using RPC and SQL.
|
||||
|
||||
<a href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/flight/sql/package-summary.html" target="_blank" class="btn github">Java Flight SQL package</a>
|
|
@ -4,8 +4,9 @@ description: The Python `flightsql-dbapi` library integrates with Python scripts
|
|||
external_url: https://github.com/influxdata/flightsql-dbapi
|
||||
menu:
|
||||
influxdb_cloud_serverless:
|
||||
name: Python Flight SQL client
|
||||
name: Python
|
||||
parent: Flight SQL clients
|
||||
identifier: python-flightsql-client
|
||||
params:
|
||||
url: https://github.com/influxdata/flightsql-dbapi
|
||||
influxdb/cloud-serverless/tags: [Python, gRPC, SQL, Flight SQL, client libraries]
|
||||
|
|
|
@ -276,7 +276,7 @@ from(bucket: "example-cloud-bucket")
|
|||
|
||||
The `migration.batchInterval` setting controls the time range queried by each batch.
|
||||
The "density" of the data in your InfluxDB Cloud bucket and your InfluxDB Cloud
|
||||
organization's [rate limits and quotas](/influxdb/cloud-serverless/admin/accounts/limits/)
|
||||
organization's [rate limits and quotas](/influxdb/cloud-serverless/admin/billing/limits/)
|
||||
determine what your batch interval should be.
|
||||
|
||||
For example, if you're migrating data collected from hundreds of sensors with
|
||||
|
|
|
@ -10,7 +10,7 @@ aliases:
|
|||
menu:
|
||||
influxdb_cloud:
|
||||
name: Account management
|
||||
alt_engine: /influxdb/cloud-iox/admin/accounts/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/accounts/
|
||||
---
|
||||
|
||||
{{< children >}}
|
||||
|
|
|
@ -13,6 +13,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
parent: Account management
|
||||
name: Manage billing
|
||||
alt_engine: /influxdb/cloud-serverless/admin/billing/
|
||||
---
|
||||
|
||||
Learn how to upgrade your plan, access billing details, and review and resolve plan limit overages:
|
||||
|
|
|
@ -10,6 +10,7 @@ menu:
|
|||
name: Change your password
|
||||
parent: Account management
|
||||
weight: 105
|
||||
alt_engine: /influxdb/cloud-serverless/admin/accounts/change-password/
|
||||
---
|
||||
|
||||
To change or reset your InfluxDB Cloud password:
|
||||
|
|
|
@ -14,7 +14,7 @@ menu:
|
|||
related:
|
||||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
alt_engine: /influxdb/cloud-iox/admin/accounts/data-usage/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/billing/data-usage/
|
||||
---
|
||||
|
||||
View the statistics of your data usage and rate limits (reads, writes, and delete limits) on the Usage page. Some usage data affects monthly costs ([pricing vectors](/influxdb/cloud/account-management/pricing-plans/#pricing-vectors)) and other usage data (for example, delete limits), does not affect pricing. For more information, see the [InfluxDB Cloud limits and adjustable quotas](/influxdb/cloud/account-management/limits/).
|
||||
|
|
|
@ -12,7 +12,7 @@ related:
|
|||
- /flux/v0.x/stdlib/experimental/usage/from/
|
||||
- /flux/v0.x/stdlib/experimental/usage/limits/
|
||||
- /influxdb/cloud/write-data/best-practices/resolve-high-cardinality/
|
||||
alt_engine: /influxdb/cloud-iox/admin/accounts/limits/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/billing/limits/
|
||||
---
|
||||
|
||||
InfluxDB Cloud applies (non-adjustable) global system limits and adjustable service quotas on a per organization basis.
|
||||
|
|
|
@ -11,6 +11,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
parent: Account management
|
||||
name: Cancel InfluxDB Cloud
|
||||
alt_engine: /influxdb/cloud-serverless/admin/accounts/cancel-account/
|
||||
---
|
||||
|
||||
To cancel your {{< cloud-name >}} subscription, complete the following steps:
|
||||
|
|
|
@ -11,6 +11,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
parent: Account management
|
||||
name: Pricing plans
|
||||
alt_engine: /influxdb/cloud-serverless/admin/billing/pricing-plans/
|
||||
---
|
||||
|
||||
InfluxDB Cloud offers a [Free Plan](#free-plan), a [Usage-Based Plan](#usage-based-plan) to pay as you go, and a discounted [Annual Plan](#annual-plan).
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
name: Switch InfluxDB accounts
|
||||
parent: Account management
|
||||
weight: 105
|
||||
alt_engine: /influxdb/cloud-iox/admin/accounts/switch-account/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/accounts/switch-account/
|
||||
---
|
||||
|
||||
If you belong to more than one {{< cloud-name >}} account with the same email address, you can switch from one account to another while staying logged in.
|
||||
|
|
|
@ -10,7 +10,7 @@ menu:
|
|||
weight: 105
|
||||
related:
|
||||
- /influxdb/cloud/account-management/switch-account/
|
||||
alt_engine: /influxdb/cloud-iox/admin/organizations/switch-org/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/organizations/switch-org/
|
||||
---
|
||||
|
||||
If you belong to more than one {{< cloud-name >}} organization with the same email address, you can switch from one organization to another while staying logged in.
|
||||
|
|
|
@ -6,7 +6,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
name: Migrate data
|
||||
weight: 9
|
||||
alt_engine: /influxdb/cloud-iox/write-data/migrate-data/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/migrate-data/
|
||||
---
|
||||
|
||||
Migrate data to InfluxDB from other InfluxDB instances including by InfluxDB OSS
|
||||
|
|
|
@ -9,7 +9,7 @@ menu:
|
|||
name: Migrate from Cloud to Cloud
|
||||
parent: Migrate data
|
||||
weight: 102
|
||||
alt_engine: /influxdb/cloud-iox/write-data/migrate-data/migrate-tsm-to-iox/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/migrate-data/migrate-tsm-to-iox/
|
||||
---
|
||||
|
||||
To migrate data from one InfluxDB Cloud organization to another, query the
|
||||
|
|
|
@ -30,7 +30,7 @@ InfluxDB Cloud account and, on your organization's homepage, and then look for
|
|||
bottom of the far-right column.
|
||||
|
||||
- [Migrate data from TSM to TSM](/influxdb/cloud/migrate-data/migrate-cloud-to-cloud/).
|
||||
- [Migrate data TSM to IOx](/influxdb/cloud-iox/write-data/migrate-data/migrate-tsm-to-iox/)
|
||||
- [Migrate data TSM to IOx](/influxdb/cloud-serverless/write-data/migrate-data/migrate-tsm-to-iox/)
|
||||
|
||||
{{% note %}}
|
||||
#### Dual write into both organizations
|
||||
|
|
|
@ -9,7 +9,7 @@ weight: 10
|
|||
influxdb/cloud/tags: [organizations]
|
||||
related:
|
||||
- /influxdb/cloud/account-management/
|
||||
alt_engine: /influxdb/cloud-iox/admin/organizations/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/organizations/
|
||||
---
|
||||
|
||||
An **organization** is a workspace for a group of users.
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
parent: Manage organizations
|
||||
weight: 105
|
||||
influxdb/cloud/tags: [buckets]
|
||||
alt_engine: /influxdb/cloud-iox/admin/buckets/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/buckets/
|
||||
---
|
||||
|
||||
A **bucket** is a named location where time series data is stored.
|
||||
|
|
|
@ -14,7 +14,7 @@ related:
|
|||
- /influxdb/cloud/reference/key-concepts/data-elements/
|
||||
- /influxdb/cloud/organizations/buckets/create-bucket/
|
||||
- /influxdb/cloud/reference/cli/influx/
|
||||
alt_engine: /influxdb/cloud-iox/admin/buckets/manage-explicit-bucket-schemas/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/buckets/manage-explicit-bucket-schemas/
|
||||
---
|
||||
|
||||
Use [**explicit bucket schemas**](/influxdb/cloud/reference/key-concepts/data-elements/#bucket-schema) to enforce [column names](/influxdb/cloud/reference/glossary/#column), [tags](/influxdb/cloud/reference/glossary/#tag), [fields](/influxdb/cloud/reference/glossary/#field), and
|
||||
|
|
|
@ -9,7 +9,7 @@ menu:
|
|||
name: Create a bucket
|
||||
parent: Manage buckets
|
||||
weight: 201
|
||||
alt_engine: /influxdb/cloud-iox/admin/buckets/create-bucket/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/buckets/create-bucket/
|
||||
---
|
||||
|
||||
Use the InfluxDB user interface (UI), the `influx` command line interface (CLI),
|
||||
|
@ -126,7 +126,7 @@ The following example creates a bucket with a retention period of `86,400` secon
|
|||
```
|
||||
|
||||
_For information about **InfluxDB API options and response codes**, see
|
||||
[InfluxDB API Buckets reference documentation](/influxdb/cloud-iox/api/#operation/PostBuckets)._
|
||||
[InfluxDB API Buckets reference documentation](/influxdb/cloud-serverless/api/#operation/PostBuckets)._
|
||||
|
||||
{{% /tab-content %}}
|
||||
<!------------------------------ END API CONTENT ------------------------------>
|
||||
|
|
|
@ -7,7 +7,7 @@ menu:
|
|||
name: Update a bucket
|
||||
parent: Manage buckets
|
||||
weight: 202
|
||||
alt_engine: /influxdb/cloud-iox/admin/buckets/update-bucket/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/buckets/update-bucket/
|
||||
---
|
||||
|
||||
Use the InfluxDB user interface (UI), the `influx` command line interface (CLI), or the InfluxDB HTTP API to update a bucket.
|
||||
|
|
|
@ -7,7 +7,7 @@ menu:
|
|||
name: View buckets
|
||||
parent: Manage buckets
|
||||
weight: 202
|
||||
alt_engine: /influxdb/cloud-iox/admin/buckets/view-buckets/
|
||||
alt_engine: /influxdb/cloud-serverless/admin/buckets/view-buckets/
|
||||
---
|
||||
|
||||
## View buckets in the InfluxDB UI
|
||||
|
|
|
@ -9,7 +9,7 @@ influxdb/cloud/tags: [telegraf]
|
|||
related:
|
||||
- /influxdb/cloud/write-data/no-code/use-telegraf/manual-config/
|
||||
- /influxdb/cloud/write-data/no-code/use-telegraf/auto-config/
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/telegraf-configs/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/telegraf-configs/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -12,7 +12,7 @@ related:
|
|||
- /influxdb/cloud/write-data/no-code/use-telegraf/manual-config/
|
||||
- /influxdb/cloud/write-data/no-code/use-telegraf/auto-config/
|
||||
- /influxdb/cloud/telegraf-configs/update/
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/telegraf-configs/create/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/telegraf-configs/create/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -11,7 +11,7 @@ menu:
|
|||
aliases:
|
||||
- /influxdb/cloud/write-data/no-code/use-telegraf/auto-config/delete-telegraf-config/
|
||||
- /influxdb/cloud/collect-data/use-telegraf/auto-config/delete-telegraf-config
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/telegraf-configs/remove/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/telegraf-configs/remove/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
name: Update a config
|
||||
parent: Telegraf configurations
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/telegraf-configs/update/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/telegraf-configs/update/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
name: View configs
|
||||
parent: Telegraf configurations
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/telegraf-configs/view/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/telegraf-configs/view/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -12,7 +12,7 @@ related:
|
|||
- https://grafana.com/docs/, Grafana documentation
|
||||
- /influxdb/cloud/query-data/get-started/
|
||||
- /influxdb/cloud/query-data/influxql/
|
||||
alt_engine: /influxdb/cloud-iox/visualize-data/grafana/
|
||||
alt_engine: /influxdb/cloud-serverless/visualize-data/grafana/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
|
@ -13,7 +13,7 @@ related:
|
|||
- /influxdb/cloud/reference/syntax/line-protocol/
|
||||
- /influxdb/cloud/reference/syntax/annotated-csv/
|
||||
- /influxdb/cloud/reference/cli/influx/write/
|
||||
alt_engine: /influxdb/cloud-iox/write-data/csv/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/csv/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -14,7 +14,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
name: Telegraf (agent)
|
||||
parent: No-code solutions
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/
|
||||
---
|
||||
|
||||
[Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) is InfluxData's
|
||||
|
|
|
@ -10,7 +10,7 @@ menu:
|
|||
weight: 201
|
||||
related:
|
||||
- /influxdb/cloud/telegraf-configs/create/
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/configure/auto-config/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/configure/auto-config/
|
||||
---
|
||||
|
||||
The InfluxDB user interface (UI) can automatically create
|
||||
|
|
|
@ -5,7 +5,7 @@ menu:
|
|||
influxdb_cloud:
|
||||
parent: Telegraf (agent)
|
||||
weight: 201
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/dual-write/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/dual-write/
|
||||
---
|
||||
|
||||
{{< duplicate-oss >}}
|
||||
|
|
|
@ -17,7 +17,7 @@ related:
|
|||
- /{{< latest "telegraf" >}}/plugins//
|
||||
- /influxdb/cloud/telegraf-configs/create/
|
||||
- /influxdb/cloud/telegraf-configs/update/
|
||||
alt_engine: /influxdb/cloud-iox/write-data/use-telegraf/configure/manual-config/
|
||||
alt_engine: /influxdb/cloud-serverless/write-data/use-telegraf/configure/manual-config/
|
||||
---
|
||||
|
||||
Use the Telegraf `influxdb_v2` output plugin to collect and write metrics into an InfluxDB v2.0 bucket.
|
||||
|
|
|
@ -46,7 +46,7 @@ influxdb:
|
|||
|
||||
influxdb_cloud:
|
||||
name: InfluxDB Cloud (TSM)
|
||||
altname: InfluxDB Cloud (TSM)
|
||||
altname: InfluxDB Cloud
|
||||
namespace: influxdb
|
||||
menu_category: managed
|
||||
versions: [cloud]
|
||||
|
@ -55,7 +55,7 @@ influxdb_cloud:
|
|||
|
||||
influxdb_cloud_serverless:
|
||||
name: InfluxDB Cloud Serverless
|
||||
altname: InfluxDB Cloud Serverless
|
||||
altname: InfluxDB Cloud
|
||||
namespace: influxdb
|
||||
menu_category: managed
|
||||
versions: [cloud-serverless]
|
||||
|
@ -64,7 +64,7 @@ influxdb_cloud_serverless:
|
|||
|
||||
influxdb_cloud_dedicated:
|
||||
name: InfluxDB Cloud Dedicated
|
||||
altname: InfluxDB Cloud Dedicated
|
||||
altname: InfluxDB Cloud
|
||||
namespace: influxdb
|
||||
menu_category: managed
|
||||
versions: [cloud-dedicated]
|
||||
|
|
|
@ -33,14 +33,6 @@
|
|||
<div class="category">
|
||||
<h4>Self-managed</h4>
|
||||
<div class="category-card">
|
||||
<div class="product">
|
||||
<h3><a href="/influxdb/{{ $influxdbVersionV2 }}/">InfluxDB OSS <span class="version">{{ replaceRE "v" "" $influxdbVersionV2 }}</span></a></h3>
|
||||
<p>The open source time series platform designed to store, query, and process time series data.</p>
|
||||
<div class="product-links">
|
||||
<a href="/influxdb/{{ $influxdbVersionV2 }}/">View documentation</a>
|
||||
<a href="/influxdb/{{ $influxdbVersionV2 }}/get-started/">Get started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product">
|
||||
<h3><a href="/enterprise_influxdb/{{ $enterpriseVersion }}/">InfluxDB Enterprise <span class="version">{{ replaceRE "v" "" $enterpriseVersion }}</span></a></h3>
|
||||
<p>Highly available InfluxDB built for high write and query workloads.</p>
|
||||
|
@ -49,19 +41,19 @@
|
|||
<a href="/enterprise_influxdb/{{ $enterpriseVersion }}/introduction/">Get started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product">
|
||||
<h3><a href="/influxdb/{{ $influxdbVersionV2 }}/">InfluxDB OSS <span class="version">{{ replaceRE "v" "" $influxdbVersionV2 }}</span></a></h3>
|
||||
<p>The open source time series platform designed to store, query, and process time series data.</p>
|
||||
<div class="product-links">
|
||||
<a href="/influxdb/{{ $influxdbVersionV2 }}/">View documentation</a>
|
||||
<a href="/influxdb/{{ $influxdbVersionV2 }}/get-started/">Get started</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="category">
|
||||
<h4>Managed by InfluxData</h4>
|
||||
<div class="category-card">
|
||||
<div class="product">
|
||||
<h3><a href="/influxdb/cloud/">InfluxDB Cloud <span class="version">TSM</span></a></h3>
|
||||
<p>Managed InfluxDB powered by the InfluxDB <strong>TSM</strong> storage engine deployed in the cloud.</p>
|
||||
<div class="product-links">
|
||||
<a href="/influxdb/cloud/">View documentation</a>
|
||||
<a href="/influxdb/cloud/get-started/">Get started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product new">
|
||||
<h3><a href="/influxdb/cloud-serverless/">InfluxDB Cloud Serverless</a></h3>
|
||||
<p>Managed InfluxDB powered by the InfluxDB <strong>IOx</strong> storage engine deployed in the cloud.</p>
|
||||
|
@ -78,6 +70,14 @@
|
|||
<a href="/influxdb/cloud-dedicated/get-started/">Get started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product">
|
||||
<h3><a href="/influxdb/cloud/">InfluxDB Cloud <span class="version">TSM</span></a></h3>
|
||||
<p>Managed InfluxDB powered by the InfluxDB <strong>TSM</strong> storage engine deployed in the cloud.</p>
|
||||
<div class="product-links">
|
||||
<a href="/influxdb/cloud/">View documentation</a>
|
||||
<a href="/influxdb/cloud/get-started/">Get started</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -9,20 +9,22 @@
|
|||
{{ $altEngine := .Page.Params.alt_engine | default "" }}
|
||||
{{ $sortedProducts := sort .Site.Data.products "list_order" "asc"}}
|
||||
|
||||
|
||||
|
||||
<div class="dropdown">
|
||||
{{ if or (eq $product nil) (eq $product "platform") (eq $product "resources") }}
|
||||
<p class="selected">Select product</p>
|
||||
{{ else if or $isCloud $isIOx $isDedicated }}
|
||||
{{ $scratch.Set "cloud-type" "" }}
|
||||
{{ if $isCloud }}{{ $scratch.Set "cloud-type" $.Site.Data.products.influxdb_cloud.altname}}
|
||||
{{ else if $isIOx }}{{ $scratch.Set "cloud-type" $.Site.Data.products.influxdb_cloud_serverless.altname }}
|
||||
{{ else if $isDedicated }}{{ $scratch.Set "cloud-type" $.Site.Data.products.influxdb_cloud_dedicated.altname }}
|
||||
{{ end }}
|
||||
{{ $cloudType := $scratch.Get "cloud-type" }}
|
||||
<p class="selected">{{ $cloudType }}</p>
|
||||
{{ else }}
|
||||
{{ $productData := (index .Site.Data.products $product) }}
|
||||
<p class="selected">{{ if $productData.altname }}{{ $productData.altname }}{{ else }}{{ $productData.name }}{{ end }}</p>
|
||||
{{ $scratch.Set "displayName" "" }}
|
||||
{{ if $isCloud }}{{ $scratch.Set "displayName" $.Site.Data.products.influxdb_cloud.name}}
|
||||
{{ else if $isIOx }}{{ $scratch.Set "displayName" $.Site.Data.products.influxdb_cloud_serverless.name }}
|
||||
{{ else if $isDedicated }}{{ $scratch.Set "displayName" $.Site.Data.products.influxdb_cloud_dedicated.name }}
|
||||
{{ else }}
|
||||
{{ $productData := (index .Site.Data.products $product) }}
|
||||
{{ $scratch.Set "displayName" (cond (isset $productData "altname") $productData.altname $productData.name) }}
|
||||
{{ end }}
|
||||
{{ $displayName := $scratch.Get "displayName" }}
|
||||
<p class="selected">{{ $displayName }}</p>
|
||||
{{ end }}
|
||||
|
||||
<ul class="item-list products" data-category="Managed">
|
||||
|
@ -35,14 +37,14 @@
|
|||
|
||||
{{/* ////////////////// BEGIN IOx WAYFINDING LOGIC ////////////////// */}}
|
||||
|
||||
{{ else if and $isCloud (eq .altname "InfluxDB Cloud Serverless")}}
|
||||
{{ else if and $isCloud (eq .name "InfluxDB Cloud Serverless")}}
|
||||
{{ $altIOxPage := $.GetPage ((replaceRE "influxdb/cloud" "influxdb/cloud-serverless" $.Page.RelPermalink) | replaceRE `\/$` "") }}
|
||||
{{ if ne $altEngine "" }}
|
||||
{{ $scratch.Set "link" $altEngine }}
|
||||
{{ else if gt (len $altIOxPage.Title) 0 }}
|
||||
{{ $scratch.Set "link" $altIOxPage.RelPermalink }}
|
||||
{{ end }}
|
||||
{{ else if and $isIOx (eq .altname "InfluxDB Cloud (TSM)")}}
|
||||
{{ else if and $isIOx (eq .name "InfluxDB Cloud (TSM)")}}
|
||||
{{ $altCloudPage := $.GetPage ((replaceRE "influxdb/cloud-serverless" "influxdb/cloud" $.Page.RelPermalink) | replaceRE `\/$` "") }}
|
||||
{{ if ne $altEngine "" }}
|
||||
{{ $scratch.Set "link" $altEngine }}
|
||||
|
@ -72,7 +74,7 @@
|
|||
{{ end }}
|
||||
{{ $link := $scratch.Get "link" }}
|
||||
<li>
|
||||
<a href='{{ $link }}' {{ if $isCurrentProduct }}class="active"{{ end }}>{{ if .altname }}{{.altname}}{{ else }}{{ .name }}{{ end }}</a>
|
||||
<a href='{{ $link }}' {{ if $isCurrentProduct }}class="active"{{ end }}>{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,6 +1,17 @@
|
|||
{{ $length := .Get 0 | default "long" }}
|
||||
{{- $productPathData := findRE "[^/]+.*?" .Page.RelPermalink -}}
|
||||
{{- $currentCloud := index $productPathData 1 -}}
|
||||
{{- $length := .Get 0 | default "long" -}}
|
||||
{{- $scratch := newScratch -}}
|
||||
{{- if eq $currentCloud "cloud" -}}
|
||||
{{- $scratch.Set "cloudData" .Site.Data.products.influxdb_cloud -}}
|
||||
{{- else if eq $currentCloud "cloud-serverless" -}}
|
||||
{{- $scratch.Set "cloudData" .Site.Data.products.influxdb_cloud_serverless -}}
|
||||
{{- else if eq $currentCloud "cloud-dedicated" -}}
|
||||
{{- $scratch.Set "cloudData" .Site.Data.products.influxdb_cloud_dedicated -}}
|
||||
{{- end -}}
|
||||
{{- $cloudData := $scratch.Get "cloudData" -}}
|
||||
{{- if eq $length "long" }}
|
||||
{{- .Site.Data.products.influxdb_cloud.name -}}
|
||||
{{- $cloudData.name -}}
|
||||
{{ else if eq $length "short" }}
|
||||
{{- .Site.Data.products.influxdb_cloud.altname -}}
|
||||
{{- $cloudData.altname -}}
|
||||
{{ end -}}
|
||||
|
|
Loading…
Reference in New Issue