文档文档

管理 DBRP 映射

InfluxQL 需要数据库和保留策略 (DBRP) 组合才能查询数据。在 InfluxDB 2.7 中,数据库和保留策略已合并,并被 InfluxDB 存储桶取代。要使用 InfluxQL 查询 InfluxDB 2.7,指定的 DBRP 组合必须映射到一个存储桶。

自动 DBRP 映射

InfluxDB 2.7 将在以下操作期间自动为您创建 DBRP 映射

有关更多信息,请参阅 数据库和保留策略映射

虚拟 DBRP 映射

InfluxDB 2.7 为任何没有显式 DBRP 映射关联的存储桶提供“虚拟”DBRP 映射。虚拟 DBRP 映射使用存储桶名称来提供 DBRP 映射,无需显式定义映射即可使用。

虚拟 DBRP 映射是只读的。要覆盖虚拟 DBRP 映射,创建显式映射

有关虚拟 DBRP 映射如何创建的信息,请参阅 数据库和保留策略映射 – 创建存储桶时

创建 DBRP 映射

使用 influx CLIInfluxDB API 创建 DBRP 映射。

一个 DBRP 组合只能映射到一个存储桶

每个唯一的 DBRP 组合只能映射到一个存储桶。如果您映射的 DBRP 组合已映射到另一个存储桶,它将覆盖现有的 DBRP 映射。

使用 influx v1 dbrp create 命令 将未映射的存储桶映射到数据库和保留策略。包含以下内容

* 必需

  • * orgtoken 用于身份验证。我们建议将您的组织和令牌设置为 influx CLI 中的活动 InfluxDB 连接配置,这样您就不必将这些参数添加到每个命令中。要设置您的活动 InfluxDB 配置,请参阅 influx config set
  • * 要映射的数据库名称
  • * 要映射的保留策略名称
  • * 要映射到的 存储桶 ID
  • 默认标志,用于将提供的保留策略设置为数据库的默认保留策略
influx v1 dbrp create \
  --db example-db \
  --rp example-rp \
  --bucket-id 00oxo0oXx000x0Xo \
  --default

使用 /api/v2/dbrps API 端点 创建新的 DBRP 映射。

POST http://localhost:8086/api/v2/dbrps

包含以下内容

  • 请求方法: POST
  • 标头
    • Authorization: Token 模式,带有您的 InfluxDB API 令牌
    • Content-type: application/json
  • 请求正文: 具有以下字段的 JSON 对象
    * 必需
    • * bucketID: 存储桶 ID
    • * database: 数据库名称
    • default: 将提供的保留策略设置为数据库的默认保留策略
    • * orgorgID: 组织名称或 组织 ID
    • * retention_policy: 保留策略名称
curl --request POST http://localhost:8086/api/v2/dbrps \
  --header "Authorization: Token YourAuthToken" \
  --header 'Content-type: application/json' \
  --data '{
        "bucketID": "00oxo0oXx000x0Xo",
        "database": "example-db",
        "default": true,
        "orgID": "00oxo0oXx000x0Xo",
        "retention_policy": "example-rp"
      }'

列出 DBRP 映射

使用 influx CLIInfluxDB API 列出所有 DBRP 映射,并验证您要查询的存储桶是否已映射到数据库和保留策略。

使用 influx v1 dbrp list 命令 列出 DBRP 映射。

以下示例假定您的组织和 API 令牌由 influx CLI 中的活动 InfluxDB 连接配置 提供。如果不是,请在每个命令中包含您的组织 (--org) 和 API 令牌 (--token)。

查看所有 DBRP 映射
influx v1 dbrp list
按数据库过滤 DBRP 映射
influx v1 dbrp list --db example-db
按存储桶 ID 过滤 DBRP 映射
influx v1 dbrp list --bucket-id 00oxo0oXx000x0Xo

使用 /api/v2/dbrps API 端点 列出 DBRP 映射。

GET http://localhost:8086/api/v2/dbrps

包含以下内容

  • 请求方法: GET
  • 标头
    • Authorization: Token 模式,带有您的 InfluxDB API 令牌
  • 查询参数
    * 必需
    • * orgID: 组织 ID
    • bucketID: 存储桶 ID (列出特定存储桶的 DBRP 映射)
    • database: 数据库名称 (列出具有特定数据库名称的 DBRP 映射)
    • rp: 保留策略名称 (列出具有特定保留策略名称的 DBRP 映射)
    • id: DBRP 映射 ID (列出特定 DBRP 映射)
查看所有 DBRP 映射
curl --request GET \
  http://localhost:8086/api/v2/dbrps?orgID=00oxo0oXx000x0Xo \
  --header "Authorization: Token YourAuthToken"
按数据库过滤 DBRP 映射
curl --request GET \
  http://localhost:8086/api/v2/dbrps?orgID=00oxo0oXx000x0Xo&db=example-db \
  --header "Authorization: Token YourAuthToken"
按存储桶 ID 过滤 DBRP 映射
curl --request GET \
  https://cloud2.influxdata.com/api/v2/dbrps?organization_id=00oxo0oXx000x0Xo&bucketID=00oxo0oXx000x0Xo \
  --header "Authorization: Token YourAuthToken"

更新 DBRP 映射

使用 influx CLIInfluxDB API 更新 DBRP 映射。

虚拟 DBRP 映射无法更新。要覆盖虚拟 DBRP 映射,创建显式映射

使用 influx v1 dbrp update 命令 更新 DBRP 映射。包含以下内容

* 必需

  • * orgtoken 用于身份验证。我们建议将您的组织和令牌设置为 influx CLI 中的活动 InfluxDB 连接配置,这样您就不必将这些参数添加到每个命令中。要设置您的活动 InfluxDB 配置,请参阅 influx config set
  • * 要更新的 DBRP 映射 ID
  • 要更新为的保留策略名称
  • 默认标志,用于将保留策略设置为数据库的默认保留策略
更新默认保留策略
influx v1 dbrp update \
  --id 00oxo0X0xx0XXoX0
  --rp example-rp \
  --default

使用 /api/v2/dbrps/{dbrpID} API 端点 更新 DBRP 映射。

PATCH http://localhost:8086/api/v2/dbrps/{dbrpID}

包含以下内容

* 必需

  • 请求方法: PATCH
  • 标头
    • * Authorization: Token 模式,带有您的 InfluxDB API 令牌
  • 路径参数
    • * id: 要更新的 DBRP 映射 ID
  • 查询参数
  • 请求正文 (JSON)
    • rp: 要更新为的保留策略名称
    • default: 将保留策略设置为数据库的默认保留策略
更新默认保留策略
curl --request PATCH \
  http://localhost:8086/api/v2/dbrps/00oxo0X0xx0XXoX0?orgID=00oxo0oXx000x0Xo \
  --header "Authorization: Token YourAuthToken"
  --data '{
      "rp": "example-rp",
      "default": true
    }'

删除 DBRP 映射

使用 influx CLIInfluxDB API 删除 DBRP 映射。

虚拟 DBRP 映射无法删除。

使用 influx v1 dbrp delete 命令 删除 DBRP 映射。包含以下内容

* 必需

  • * orgtoken 用于身份验证。我们建议将您的组织和令牌设置为 influx CLI 中的活动 InfluxDB 连接配置,这样您就不必将这些参数添加到每个命令中。要设置您的活动 InfluxDB 配置,请参阅 influx config set
  • * 要删除的 DBRP 映射 ID
influx v1 dbrp delete --id 00oxo0X0xx0XXoX0

使用 /api/v2/dbrps/{dbrpID} API 端点 删除 DBRP 映射。

DELETE http://localhost:8086/api/v2/dbrps/{dbrpID}

包含以下内容

* 必需

  • 请求方法: PATCH
  • 标头
    • * Authorization: Token 模式,带有您的 InfluxDB API 令牌
  • 路径参数
    • * id: 要更新的 DBRP 映射 ID
  • 查询参数
curl --request DELETE \
  http://localhost:8086/api/v2/dbrps/00oxo0X0xx0XXoX0?orgID=00oxo0oXx000x0Xo \
  --header "Authorization: Token YourAuthToken"

此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像目前一样使用它,而无需更改任何代码。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速的近期数据引擎,可以实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 基于 Core 的基础构建,增加了高可用性、只读副本、增强的安全性以及数据压缩整理功能,从而实现更快的查询速度和优化的存储。InfluxDB 3 Enterprise 提供免费层级,供非商业用途的家庭或业余爱好者使用。

要了解更多信息,请查看