Amazon QuickSight BIOps - 第2部分:使用API进行版本控制
概述
本文章介绍了API驱动的商业智能运维(BIOps)框架,旨在减轻手动工作量,改善Amazon QuickSight中的生命周期管理。
随着商业智能(BI)环境日益复杂,手动管理仪表板、数据集和部署容易导致结果不一致、版本偏差和协作效率低下。自动化对于扩展数据洞察交付、增强治理以及提高开发、QA和生产环境的可靠性至关重要。
DevOps原则在BI中的应用
DevOps通过整合软件开发和IT运营来加速交付并提高可靠性。DevOps重视以下实践:
- 持续集成和持续交付(CI/CD)
- 基础设施即代码(IaC)和资产即代码(AaC)
- 自动化
- 监控
- 协作工具(Git、Jira、Slack等)
BIOps将这些原则应用于BI工作流。通过自动化资产备份、版本控制和部署,BI团队可以更一致、可追溯且高效地管理仪表板、数据集和分析。
QuickSight资产API概览
QuickSight提供多种基于API的方法来管理BI工件。根据版本控制、部署自动化和备份等目的,可以使用具有不同优势的API。
三种主要方法:
- Template API(传统方法)
- Assets-as-Bundle API(新方法)
- Describe-Definition API
Template API
基于"模板"的方法使用CreateTemplate
和CreateDashboard
等API,是跨AWS账户和AWS区域迁移QuickSight资产的传统方法。
相关API包括:
CreateTemplate
DeleteTemplate
DescribeTemplate
DescribeTemplateDefinition
UpdateTemplate
UpdateTemplatePermissions
Assets-as-Bundle API
对于实施CI/CD流水线或IaC实践的团队,现代的Assets-as-Bundle API和Describe-Definition API提供更高的透明度、灵活性和控制力。
导出相关API:
StartAssetBundleExportJob
- 导出资产包文件的异步APIDescribeAssetBundleExportJob
- 获取导出作业状态的同步APIListAssetBundleExportJobs
- 列出历史导出作业的同步API
导入相关API:
StartAssetBundleImportJob
- 开始导入资产包文件的异步APIDescribeAssetBundleImportJob
- 获取导入作业状态的同步APIListAssetBundleImportJobs
- 列出历史导入作业的同步API
Describe-Definition API
Describe-Definition API
以透明且字段级别的格式公开每个工件的内部JSON结构。
包括:
DescribeDataSource
DescribeDataSet
DescribeAnalysisDefinition
DescribeDashboardDefinition
各方法比较
方法 | 主要用例 | 用途 | 存储位置 |
---|---|---|---|
Template API | 产品内备份、传统部署 | UI中心团队、简单备份 | QuickSight内 |
Describe-Definition API | 精细版本控制和自动化 | CI/CD、Git集成 | Git、Amazon S3、代码仓库 |
Assets-as-Bundle API | 包含依赖关系的环境级部署 | 开发到生产环境部署、批量迁移 | Amazon S3、本地ZIP存档 |
使用Describe-Definition API进行版本控制
示例代码
获取分析定义并在开发文件夹中创建副本:
|
|
程序化添加计算字段、参数和过滤器:
|
|
混合工作流:结合QuickSight UI和API
BI团队可以扩展此架构以构建混合模型:在QuickSight UI中进行开发,通过API进行版本控制。
工作流程:
- BI作者直接在QuickSight控制台中开发资产
- 开发完成并通过测试后,团队使用Describe-Definition API导出资产定义
- 将定义保存到Git或Amazon S3等版本控制仓库中
- 使用Create或Update API将经过验证的资产部署到生产环境
使用Amazon EventBridge自动化版本控制
Amazon EventBridge允许将近实时的资产级别事件捕获和监控,包括资产创建、更新、删除和文件夹结构更改。
通过与EventBridge集成,BI团队可以定义规则,在特定资产或文件夹更改时自动触发后续工作流(如AWS Lambda或AWS Step Functions)。
总结
本文介绍的QuickSight API功能为大规模管理BI资产提供了强大的自动化、治理和灵活性。这些API使您能够完全控制资产生命周期,并与CI/CD流水线、基于Git的工作流和自定义工具无缝集成。
需要精细控制、审计性和跨账户、跨区域的可重复部署时,请使用API。优先考虑速度、易用性或轻松迭代时,请使用QuickSight控制台。对于许多团队来说,在QuickSight控制台中开发并使用API捕获更改的混合方法将是利用两者优势的最佳方式。
通过采用BIOps实践,BI团队可以扩展交付、降低风险,并从一次性开发转向可靠且受控的洞察生成。