Flashcat API
FlashdutyNightingaleFlashcat帮助文档官网控制台
FlashdutyNightingaleFlashcat帮助文档官网控制台
  1. Open API
  • 介绍
  • Open API
    • 快速入门
    • 关于分页
    • 成员管理
      • 邀请成员
      • 重置信息
      • 删除成员
      • 成员列表
    • 团队管理
      • 团队列表
      • 基本信息
      • 团队删除
      • 团队Upsert
    • 值班管理
      • 创建值班表
      • 更新值班表
      • 预览值班表
      • 删除值班表
      • 查看值班详情
      • 查看值班列表
      • 个人值班日程
      • 根据ID列表获取值班表信息
      • 角色信息
    • 信息获取
      • 人员
      • 团队
      • 协作空间
    • 偏好设置
      • 查看偏好设置
      • 修改偏好设置
    • 协作空间
      • 分派策略
        • 策略详情
        • 策略启用
        • 策略禁用
        • 策略删除
        • 策略列表
        • 策略创建
        • 策略更新
      • 订阅规则
        • 策略启用
        • 策略禁用
        • 策略删除
        • 策略列表
        • 策略创建
        • 策略更新
      • 排除规则
        • 策略启用
        • 策略禁用
        • 策略删除
        • 策略列表
        • 策略创建
        • 策略更新
      • 静默策略
        • 策略启用
        • 策略禁用
        • 策略删除
        • 策略列表
        • 策略创建
        • 策略更新
      • 抑制策略
        • 策略启用
        • 策略禁用
        • 策略删除
        • 策略列表
        • 策略创建
        • 策略更新
      • 空间列表
      • 空间详情
      • 空间创建
      • 空间更新
      • 空间启用
      • 空间禁用
      • 空间删除
      • 空间排序
      • 空间收藏
      • 取消收藏
      • 机器人列表
      • 按集成查询空间名称
    • 模板管理
      • 模板列表
      • 模板详情
      • 模板启用
      • 模板禁用
      • 模板删除
      • 模板预览
      • 模板创建
      • 模板更新
    • 故障管理
      • 聚合视图
        • 视图删除
        • 视图列表
        • 视图创建
        • 视图更新
      • 创建故障
      • 分派故障
      • 添加处理人
      • 认领故障
      • 取消认领
      • 关闭故障
      • 重开故障
      • 删除故障
      • 屏蔽故障
      • 取消屏蔽
      • 合并故障
      • 评论故障
      • 故障详情
      • 故障列表
      • 故障列表-卡片视图
      • 故障列表-按ID查询
      • 历史故障列表
      • 故障时间线
      • 标题更新
      • 描述更新
      • 影响更新
      • 根因更新
      • 解决方案更新
      • 严重程度更新
      • 关联告警列表
      • 自定义字段更新
      • 触发自定义操作
    • 告警管理
      • 聚合视图
        • 视图删除
        • 视图列表
        • 视图创建
        • 视图更新
      • 告警详情
      • 关闭告警
      • 告警列表-卡片视图
      • 告警列表
      • 告警列表-按ID查询
      • 关联-事件列表
      • 时间线
      • 合并到故障
    • 变更管理
      • 变更列表
    • 自定义字段
      • 字段列表
      • 字段详情
      • 字段删除
      • 字段创建
      • 字段更新
    • 服务日历
      • 日历列表
      • 日历详情
      • 日历创建
      • 日历更新
      • 日历删除
      • 日历事件设置
      • 日历事件删除
      • 日历事件列表
    • 标签增强
      • Mapping
        • 查询schema
        • 创建schema
        • 更新schema
        • 删除schema
        • 查询data
        • 更新data
        • 删除data
        • 清空data
        • csv上传data
        • csv下载data
      • 规则详情
      • 规则更新
    • 告警处理
      • 规则详情
      • 规则更新
    • 集成路由
      • 路由历史列表
      • 路由列表
      • 路由详情
      • 路由更新
    • License管理
      • License成员列表
      • 修改成员License类型
    • 分析看板
      • 告警标签TOP
      • 账户维度指标
      • 故障明细查询
      • 故障明细导出
      • 团队维度指标
      • 团队维度指标导出
      • 空间维度指标
      • 空间维度指标导出
      • 个人维度指标
      • 个人维度指标导出
      • 通知数量
      • 变更数量
  • Webhook
    • 快速入门
    • 自定义操作
    • 故障 Webhook
    • 告警 Webhook
  • Event API
    • 快速入门
    • 告警 Event
    • 变更 Event
  1. Open API

关于分页

一般情况下,当我们拉取或检索某种数据对象时,都会基于分页将数据分批次返回,而不是在一个请求中返回所有数据。

传统分页

我们把基于 OFFSET 和 LIMIT 查询的分页技术定义为传统分页。在大多数 Flashduty 列表查询 API 中,您可以看到以下参数定义:

{
    "p": 1,     // 分页页码,默认从1开始。offset=(p-1)*limit
    "limit": 20 // 页内数目,最大值不超过100,默认为20
}

同时在响应中,我们会返回以下参数:

{
    "total": 1000,      // 当前条件下匹配到总条目数量
    "hax_next_page": 20 // 当前条件下是否有下一页数据
}

基于传统分页技术进行查询虽然简单,但可能会遇到以下一些问题:

1. 性能问题:使用 OFFSET 和 LIMIT 进行分页查询时,数据库需要跳过指定数量的行(OFFSET),然后返回指定数量的行(LIMIT)。随着偏移量的增加,查询的性能可能会下降,特别是在处理大量数据时。每次查询都需要扫描和跳过前面的行,这会导致查询变得越来越慢。

2. 数据不稳定性:当使用 PAGE 和 LIMIT 进行分页查询时,如果在查询期间删除或插入了数据,可能会导致结果不稳定。例如,如果在查询过程中删除了前面的行,那么后续的偏移量可能会失效,导致结果不准确或缺失。

为了保护系统,确保大多数用户可以稳定访问,我们针对基于传统分页技术查询的 API 参数做了以下限制:

注意

要求 PAGE * LIMIT <= 10000,如果超过10000,系统将直接返回400错误信息。这种情况下,请您转为使用游标分页,或缩小查询条件。

游标分页

我们把基于 SEARCH_AFTER_CTX 分页的技术定义为游标分页。游标分页技术可以更好地处理大数据集和高性能要求,并提供更稳定和高效的分页查询体验。

我们在以下API种提供了游标分页支持:
故障列表
告警列表

在以上API种您可以看到参数定义:

{
    "search_after_ctx": "658bcbae6ab5a67b3b800230",     // 游标索引,不设置时,从第一页开始
    "limit": 20 // 页内数目,最大值不超过100,默认为20
}

同时在响应中,我们会返回以下参数:

{
    "total": 1000,      // 当前条件下匹配到总条目数量
    "hax_next_page": 20,// 当前条件下是否有下一页数据
    "search_after_ctx": "658ba7f9566077d6090e8d51" // 下一页游标地址,仅当存在下页时返回
}

关于 TOTAL

无论使用哪种分页技术,Flashduty 都会给您返回 TOTAL 和 HAS_NEXT_PAGE 参数。但是,请注意,TOTAL 值并不始终准确,为了保证系统可以快速响应,我们增加了以下限制:

注意

当匹配数据总量小于1000时,total 值为精确值;
当匹配数据总量大于等于1000时,total 值恒为1000。此时仅代表系统匹配到1000+数据。

综上,请您通过 has_next_page 来判断是否存在下一页数据,而不是 total。

添加官方技术人员微信

在这里,获得使用上的任何帮助,快速上手企业告警一站式响应平台FlashDuty

微信扫码交流
上一页
快速入门
下一页
邀请成员
Built with