InfluxDB Cloud Dedicated 管理API提供了用于管理InfluxDB Cloud Dedicated实例的编程接口。
InfluxDB v3 管理API允许您管理InfluxDB Cloud Dedicated实例,并将创建和管理数据库、权限和令牌等功能集成到您的流程或应用程序中。
本文档是从InfluxDB OpenAPI规范生成的。
InfluxDB 管理API端点需要以下凭证
HOST="https://console.influxdata.com" list_tokens () { local response=$( \ curl \ --location "$HOST/api/v0/accounts/$ACCOUNT_ID/clusters/$CLUSTER_ID/tokens" \ --header "Accept: application/json" \ --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ ) echo "$response" }
[- {
- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "id": "55555555-5555-4555-8555-555555555555",
- "description": "Limited Access Token",
- "permissions": [
- {
- "action": "read",
- "resource": "DatabaseOne"
}, - {
- "action": "write",
- "resource": "DatabaseTwo"
}
], - "createdAt": "2023-12-21T17:32:28.000Z"
}, - {
- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "id": "66666666-6666-4666-8666-666666666666",
- "description": "Full Access Token",
- "permissions": [
- {
- "action": "write",
- "resource": "*"
}
], - "createdAt": "2024-03-02T04:20:19.000Z"
}, - {
- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "id": "77777777-7777-4777-8777-777777777777",
- "description": "No Access Token",
- "permissions": [ ],
- "createdAt": "2024-03-02T04:20:19.000Z"
}
]
为集群创建 数据库令牌。
响应中返回的 accessToken
属性上的令牌可以用来验证查询和写入请求到集群。
激活和同步新的令牌可能需要一些时间——从几秒到几分钟不等。如果新的数据库令牌立即无法使用(查询或写入时收到 401 未授权
错误),请等待然后再次尝试您的请求。
令牌字符串仅在创建令牌时可见,并且不会被 InfluxDB 存储;您无法恢复丢失的令牌。
我们建议将数据库令牌存储在 安全秘密存储 中。例如,查看如何 使用您的 OS 秘密存储中的令牌认证 Telegraf。
如果您丢失了令牌,请从 InfluxDB 中 删除令牌 并创建一个新的。
accountId 必需 | 字符串 <uuid> (UuidV4) 创建数据库令牌的 账户 的 ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 为创建数据库令牌的 数据库令牌 的集群 ID |
描述 必需 | 字符串(模式) 数据库令牌的描述 |
对象数组(模式) 允许的权限列表 数据库令牌 |
{- "description": "Limited Access Token",
- "permissions": [
- {
- "action": "read",
- "resource": "DatabaseOne"
}, - {
- "action": "write",
- "resource": "DatabaseTwo"
}
]
}
{- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "id": "55555555-5555-4555-8555-555555555555",
- "description": "Limited Access Token",
- "permissions": [
- {
- "action": "read",
- "resource": "DatabaseOne"
}, - {
- "action": "write",
- "resource": "DatabaseTwo"
}
], - "createdAt": "2023-12-21T17:32:28.000Z",
- "accessToken": "apiv1_5555555555555555555555555555555555555555555555555555555555555555"
}
accountId 必需 | 字符串 <uuid> (UuidV4) 属于 账户 的数据库令牌的 ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 属于 数据库令牌 的集群 ID |
tokenId 必需 | 字符串 <uuid> (UuidV4) 要获取的数据库令牌的 ID |
HOST="https://console.influxdata.com" get_token () { local tokenId=$1 local response=$( \ curl \ --location "$HOST/api/v0/accounts/$ACCOUNT_ID/clusters/$CLUSTER_ID/tokens/$tokenId" \ --header "Accept: application/json" \ --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ ) echo "$response" }
{- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "id": "55555555-5555-4555-8555-555555555555",
- "description": "Limited Access Token",
- "permissions": [
- {
- "action": "read",
- "resource": "DatabaseOne"
}, - {
- "action": "write",
- "resource": "DatabaseTwo"
}
], - "createdAt": "2023-12-21T17:32:28.000Z"
}
accountId 必需 | 字符串 <uuid> (UuidV4) 属于 账户 的数据库令牌的 ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 属于 数据库令牌 的集群 ID |
tokenId 必需 | 字符串 <uuid> (UuidV4) 要更新的数据库令牌的ID |
描述 | 字符串(模式) 数据库令牌的描述 |
对象数组(模式) 允许的权限列表 数据库令牌 |
{- "description": "Updated Limited Access Token",
- "permissions": [
- {
- "action": "write",
- "resource": "DatabaseOne"
}, - {
- "action": "read",
- "resource": "DatabaseTwo"
}, - {
- "action": "write",
- "resource": "DatabaseThree"
}
]
}
{- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "id": "55555555-5555-4555-8555-555555555555",
- "description": "Updated Limited Access Token",
- "permissions": [
- {
- "action": "write",
- "resource": "DatabaseOne"
}, - {
- "action": "read",
- "resource": "DatabaseTwo"
}, - {
- "action": "write",
- "resource": "DatabaseThree"
}
], - "createdAt": "2023-12-21T17:32:28.000Z"
}
accountId 必需 | 字符串 <uuid> (UuidV4) 属于 账户 的数据库令牌的 ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 属于 数据库令牌 的集群 ID |
tokenId 必需 | 字符串 <uuid> (UuidV4) 要删除的数据库令牌的ID |
HOST="https://console.influxdata.com" delete_token () { local tokenId=$1 local response=$( \ curl \ --location "$HOST/api/v0/accounts/$ACCOUNT_ID/clusters/$CLUSTER_ID/tokens/$tokenId" \ --request DELETE \ --header "Accept: application/json" \ --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ ) echo "$response" }
{- "code": 400,
- "message": "bad request"
}
HOST="https://console.influxdata.com" list_databases () { local response=$( \ curl \ --location "$HOST/api/v0/accounts/$ACCOUNT_ID/clusters/$CLUSTER_ID/databases" \ --header "Accept: application/json" \ --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ ) echo "$response" }
[- {
- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "name": "DatabaseOne",
- "maxTables": 500,
- "maxColumnsPerTable": 200,
- "retentionPeriod": 0
}, - {
- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "name": "DatabaseTwo",
- "maxTables": 100,
- "maxColumnsPerTable": 50,
- "retentionPeriod": 300000000000,
- "partitionTemplate": [
- {
- "type": "time",
- "value": "%Y"
}, - {
- "类型": "标签",
- "值": "香蕉"
}, - {
- "类型": "标签",
- "值": "菠萝"
}, - {
- "类型": "桶",
- "值": {
- "tagName": "c",
- "numberOfBuckets": 10
}
}
]
}
]
accountId 必需 | 字符串 <uuid> (UuidV4) 为创建数据库的账户ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 为创建数据库的集群ID |
maxColumnsPerTable | 整数 <int32> (模式) >= 1 默认值: 200 集群数据库每个表的最大列数 |
maxTables | 整数 <int32> (模式) >= 1 默认值: 500 集群数据库的最大表数 |
name 必需 | 字符串 (模式) [ 1 .. 64 ] 个字符 集群数据库的名称 |
数组ClusterDatabasePartitionTemplatePartTagValue (对象) 或 ClusterDatabasePartitionTemplatePartTimeFormat (对象) 或 ClusterDatabasePartitionTemplatePartBucket (对象) (模式) [ 1 .. 8 ] 项 唯一 用于分区集群数据库的模板。 每个模板部分按顺序评估,将每个部分输出的最终分区键连接起来,由分区键分隔符 例如,使用以下分区模板
以下分区键被推导出来
当使用默认的分区模板(YYYY-MM-DD)时,不需要编码,因为推导出的分区键包含单个部分,没有保留字符。[ | |
retentionPeriod | 整数 <int64> (模式) >= 0 默认值: 0 集群数据库的保留期(以纳秒为单位,如果适用) 如果未设置保留期或设置为0,则数据库将具有无限保留期 |
{- "name": "DatabaseOne"
}
{- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "name": "DatabaseOne",
- "maxTables": 500,
- "maxColumnsPerTable": 200,
- "retentionPeriod": 0
}
accountId 必需 | 字符串 <uuid> (UuidV4) 属于该数据库的账户的ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 属于该数据库的集群ID |
databaseName 必需 | string (ClusterDatabaseName) [ 1 .. 64 ]个字符 要更新的数据库名称 |
maxColumnsPerTable | 整数 <int32> (模式) >= 1 默认值: 200 集群数据库每个表的最大列数 |
maxTables | 整数 <int32> (模式) >= 1 默认值: 500 集群数据库的最大表数 |
retentionPeriod | 整数 <int64> (模式) >= 0 默认值: 0 集群数据库的保留期(以纳秒为单位,如果适用) 如果未设置保留期或设置为0,则数据库将具有无限保留期 |
{- "maxTables": 300,
- "maxColumnsPerTable": 150,
- "retentionPeriod": 600000000000
}
{- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "name": "DatabaseOne",
- "maxTables": 300,
- "maxColumnsPerTable": 150,
- "retentionPeriod": 600000000000
}
accountId 必需 | 字符串 <uuid> (UuidV4) 属于该数据库的账户的ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 属于该数据库的集群ID |
databaseName 必需 | string (ClusterDatabaseName) [ 1 .. 64 ]个字符 要删除的数据库名称 |
HOST="https://console.influxdata.com" delete_database () { local databaseName=$1 local response=$( \ curl \ --location "$HOST/api/v0/accounts/$ACCOUNT_ID/clusters/$CLUSTER_ID/databases/$databaseName" \ --request DELETE \ --header "Accept: application/json" \ --header "Authorization: Bearer $MANAGEMENT_TOKEN" \ ) echo "$response" }
{- "code": 400,
- "message": "bad request"
}
accountId 必需 | 字符串 <uuid> (UuidV4) 为创建数据库表指定的账户的ID |
clusterId 必需 | 字符串 <uuid> (UuidV4) 创建数据库表的集群ID |
databaseName 必需 | string (ClusterDatabaseName) [ 1 .. 64 ]个字符 为创建数据库表指定的数据库名称 |
name 必需 | 字符串(模式)非空 集群数据库表的名称 |
数组ClusterDatabasePartitionTemplatePartTagValue (对象) 或 ClusterDatabasePartitionTemplatePartTimeFormat (对象) 或 ClusterDatabasePartitionTemplatePartBucket (对象) (模式) [ 1 .. 8 ] 项 唯一 用于分区集群数据库的模板。 每个模板部分按顺序评估,将每个部分输出的最终分区键连接起来,由分区键分隔符 例如,使用以下分区模板
以下分区键被推导出来
当使用默认的分区模板(YYYY-MM-DD)时,不需要编码,因为推导出的分区键包含单个部分,没有保留字符。[ |
{- "name": "TableOne"
}
{- "accountId": "11111111-1111-4111-8111-111111111111",
- "clusterId": "33333333-3333-4333-8333-333333333333",
- "databaseName": "DatabaseOne",
- "name": "TableOne"
}