用途:本技能通过 Omni Analytics 的 REST API 以编程方式创建、更新和管理文档(workbook)与仪表板,覆盖文档生命周期、查询标签、可视化、筛选器与工作表模型。可配合 omni-model-explorer 了解字段、omni-content-explorer 查找现有仪表板。
主要能力:创建文档(仅名称、或含查询与可视化)、重命名、删除(移入回收站)、移动、复制(仅已发布文档)、更新仪表板工作表模型、读取与更新仪表板筛选器。文档包含仪表板视图、一个或多个查询标签、每仪表板的工作表模型。
使用方式:先设置环境变量 export OMNI_BASE_URL 与 OMNI_API_KEY,请求头用 Authorization: Bearer $OMNI_API_KEY。不确定端点或参数时,用 curl -L "$OMNI_BASE_URL/openapi.json" 获取 OpenAPI 规范核对。用 queryPresentations 创建文档时,每个条目需含 name、prefersChart、visType、fields、config、query;query 需含 table、fields,可选 sorts、filters、limit(默认 1000、最大 50000)、join_paths_from_topic_name、pivots。文档 API 用 identifier,不用 id,因为工作表类型文档的 .id 为 null。
适用场景:批量或模板化生成仪表板、从现有仪表板读取 queryPresentations 结构后复制、为特定仪表板推送自定义维度与度量、在创建时配置筛选器。
限制与已知问题:复杂图表若 config、visType、prefersChart 配置错误会显示“No chart available”,建议先用 chartType: "table",图形在 UI 中配置;每个查询必须至少含一个度量,否则产生空 tile;存在 pivots 时布尔筛选器可能被静默丢弃;PUT/PATCH 更新筛选器可能返回 405 或 500,最可靠方式是创建时传入 filterConfig 与 filterOrder;复制现有 queryPresentations 时需删除 query 中的 model_extension_id,并只保留需要的 tile;visConfig 必须放在 query 内,放在 queryPresentation 同级会被丢弃;图表精细布局和部分配置建议在 Omni UI 中完成,再通过 GET 读取为模板。具体 endpoint 细节与未提及的收费、配额等信息暂未提供。