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}))
此页是否对您有帮助?
感谢您的反馈!