usage.limits() 函数
usage.limits() 是实验性的,并且随时可能更改。
usage.limits() 返回一个记录,其中包含 InfluxDB Cloud 组织的使用限制。
示例输出记录
{
orgID: "123",
rate: {
readKBs: 1000,
concurrentReadRequests: 0,
writeKBs: 17,
concurrentWriteRequests: 0,
cardinality: 10000,
},
bucket: {maxBuckets: 2, maxRetentionDuration: 2592000000000000},
task: {maxTasks: 5},
dashboard: {maxDashboards: 5},
check: {maxChecks: 2},
notificationRule: {maxNotifications: 2, blockedNotificationRules: "comma, delimited, list"},
notificationEndpoint: {blockedNotificationEndpoints: "comma, delimited, list"},
}
函数类型签名
(?host: string, ?orgID: string, ?token: string) => A
有关更多信息,请参阅函数类型签名。
参数
host
InfluxDB Cloud 区域 URL。默认为 ""。
(如果在您的 InfluxDB Cloud 组织或区域外部执行,则为必填项).
orgID
InfluxDB Cloud 组织 ID。默认为 ""。
(如果在您的 InfluxDB Cloud 组织或区域外部执行,则为必填项).
token
InfluxDB Cloud API 令牌。默认为 ""。
(如果在您的 InfluxDB Cloud 组织或区域外部执行,则为必填项).
示例
获取您的 InfluxDB Cloud 组织的速率限制
import "experimental/usage"
usage.limits()
获取不同 InfluxDB Cloud 组织的速率限制
import "experimental/usage"
import "influxdata/influxdb/secrets"
token = secrets.get(key: "INFLUX_TOKEN")
usage.limits(
host: "https://us-west-2-1.aws.cloud2.influxdata.com",
orgID: "x000X0x0xx0X00x0",
token: token,
)
在表格中输出组织限制
import "array"
import "experimental/usage"
limits = usage.limits()
array.from(
rows: [
{
orgID: limits.orgID,
limitGroup: "rate",
limitName: "Read (kb/s)",
limit: limits.rate.readKBs,
},
{
orgID: limits.orgID,
limitGroup: "rate",
limitName: "Concurrent Read Requests",
limit: limits.rate.concurrentReadRequests,
},
{
orgID: limits.orgID,
limitGroup: "rate",
limitName: "Write (kb/s)",
limit: limits.rate.writeKBs,
},
{
orgID: limits.orgID,
limitGroup: "rate",
limitName: "Concurrent Write Requests",
limit: limits.rate.concurrentWriteRequests,
},
{
orgID: limits.orgID,
limitGroup: "rate",
limitName: "Cardinality",
limit: limits.rate.cardinality,
},
{
orgID: limits.orgID,
limitGroup: "bucket",
limitName: "Max Buckets",
limit: limits.bucket.maxBuckets,
},
{
orgID: limits.orgID,
limitGroup: "bucket",
limitName: "Max Retention Period (ns)",
limit: limits.bucket.maxRetentionDuration,
},
{
orgID: limits.orgID,
limitGroup: "task",
limitName: "Max Tasks",
limit: limits.task.maxTasks,
},
{
orgID: limits.orgID,
limitGroup: "dashboard",
limitName: "Max Dashboards",
limit: limits.dashboard.maxDashboards,
},
{
orgID: limits.orgID,
limitGroup: "check",
limitName: "Max Checks",
limit: limits.check.maxChecks,
},
{
orgID: limits.orgID,
limitGroup: "notificationRule",
limitName: "Max Notification Rules",
limit: limits.notificationRule.maxNotifications,
},
],
)
输出当前基数与您的基数限制
import "experimental/usage"
import "influxdata/influxdb"
limits = usage.limits()
bucketCardinality = (bucket) =>
(influxdb.cardinality(bucket: bucket, start: time(v: 0))
|> findColumn(fn: (key) => true, column: "_value"))[0]
buckets()
|> filter(fn: (r) => not r.name =~ /^_/)
|> map(fn: (r) => ({bucket: r.name, Cardinality: bucketCardinality(bucket: r.name)}))
|> sum(column: "Cardinality")
|> map(fn: (r) => ({r with "Cardinality Limit": limits.rate.cardinality}))
此页是否对您有帮助?
感谢您的反馈!