4.3 KiB
title | description | menu | weight | products | related | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Database and retention policy mapping | The database and retention policy (DBRP) mapping service maps InfluxDB 1.x database and retention policy combinations to InfluxDB 2.0 buckets. |
|
302 |
|
|
The InfluxDB 1.x data model includes databases and retention policies. InfluxDB 2.0 replaces both with buckets. To support InfluxDB 1.x query and write patterns in InfluxDB 2.0, databases and retention policies are mapped to buckets using the database and retention policy (DBRP) mapping service.
The DBRP mapping service uses the database and retention policy specified in
compatibility API requests to route operations to a bucket.
Create DBRP mappings automatically with the /write
compatibility endpoint or
create DBRP mappings manually using the /api/v2/dbrps
API endpoint.
Default retention policies
A database can have multiple retention policies with one set as default. If no retention policy is specified in a query or write request, InfluxDB uses the default retention policy for the specified database.
DBRP mapping behavior
When writing data
When writing data to InfluxDB 2.0 using the /write
compatibility endpoint,
the DBRP mapping service checks for a bucket mapped to the database and retention policy:
-
If a mapped bucket is found, data is written to the bucket.
-
If an unmapped bucket with a name matching:
- database/retention policy exists, a DBRP mapping is added to the bucket, and data is written to the bucket.
- database exists (without a specified retention policy), the default database retention policy is used, a DBRP mapping is added to the bucket, and data is written to the bucket.
-
If no matching bucket is found, a new database/retention-policy bucket is created with a DBRP mapping, and data is written to the bucket. If no retention policy is specified,
autogen
is used.{{% note %}} To automatically create new buckets, the authentication token used for the write request must be an All Access token. {{% /note %}}
When querying data
When querying data from InfluxDB 2.0 using the /query
compatibility endpoint,
the DBRP mapping service checks for the specified database and retention policy
(if no retention policy is specified, the database's default retention policy is used):
- If a mapped bucket exists, data is queried from the mapped bucket.
- If no mapped bucket exists, InfluxDB returns an error.
Manually create and manage DBRP mappings
If you have an existing bucket that does't follow the database/retention-policy
naming convention, you must manually create a database and retention policy
mapping to query that bucket with the /query
compatibility API.
Use the using the /api/v2/dbrps
API endpoint to
manually create and manage DBRP mappings.
To manually create a DBRP mapping, provide the following:
- authentication token
- organization name or ID (organization or organization_id)
- target bucket ID (bucket_id)
- database to map
- retention policy to map
curl -XPOST https://cloud2.influxdata.com/api/v2/dbrps \
-H "Authorization: Token YourAuthToken" \
-H 'Content-type: application/json' \
-d '{
"organization": "example-org",
"bucket_id": "12ab34cd56ef",
"database": "example-db",
"retention_policy": "example-rp",
"default": true
}'
For more information, see the /api/v2/dbrps
endpoint documentation.