[第2部分]使用精简的Python解决方案增强anplan审计日志数据提取

AnaplanOEG
5月26日编辑 社区知识库

anplan审计历史项目,由几个Python模块和一个配置文件组成,它协同工作以简化提取、格式化和将anplan审计日志数据加载到预配置的anplan模型中的过程。该项目利用了anplan REST API, Python Pandas库用于从web服务JSON格式到表格格式的有效数据转换,以及SQLite用于高级数据混合和转换功能。

SQLite是一个高度通用和轻量级的数据库引擎,它为转换和混合各种相关数据集提供了实质性的好处。它执行复杂SQL查询和连接操作的能力使用户能够以不同的方式合并数据集,使其成为数据集成和丰富的强大工具。利用SQLite全面的内置功能,该项目无缝地组合了多个anplan数据集,并在SQLite环境中执行数据转换操作,如过滤、排序和重塑。SQLite基于文件的存储系统的简单性使其易于直接在Python代码中部署和管理,使SQLite成为一种高效、可扩展且易于访问的数据混合、转换和汇总解决方案。在这个项目的背景下,这个SQL代码组合各种Anaplan元数据,包括用户工作区模型行动流程,沃公司集成通过与原始审计数据的SQL连接,以可报告的格式合成审计数据。

为了提供所有这些anplan内容,需要利用以下anplan REST api:

  • OAuth服务API—根据client_id和refresh_token对access_token进行认证和刷新。
  • 审计API-获取审计记录。
  • 集成API-获取关于anplan对象的元数据,如数据源、进程和操作。此外,为了将内容刷新到目标anplan审计报告模型,将使用批量API上传准备好报告的审计数据,并利用事务API更新最新的时间戳。
  • SCIM API-获取anplan用户元数据。
  • 沃API-获取CloudWorks集成元数据。

该项目举例说明了Python如何有效地集成和自动化Anaplan操作,使用现代OAuth服务进行Anaplan授权,并结合Anaplan REST API的丰富功能。此外,该项目还强调了几个Python最佳实践,例如:

  1. 将代码组织到包和模块中:根据功能将代码分割成多个模块可以提高可维护性,并简化定位和解决未来问题的过程。
  2. 增强错误处理:在使用外部api时,有效的错误管理至关重要。实现try-except块来处理在API调用或文件I/O操作期间可能发生的异常。
  3. 利用Python的日志模块:选择内置的日志模块而不是打印语句进行调试,从而更好地控制日志的冗长性并简化日志输出管理。
  4. 利用环境变量或配置文件:避免硬编码API密钥或凭证等敏感信息,而是使用环境变量或配置文件存储这些信息。
  5. 向代码中添加注释:在复杂或不明显的代码段中包含注释,以提高您和其他人的可理解性。

规划人员可以使用该项目作为构建定制集成的基础。


源代码和补充详细信息,如需求、部署说明和有用的视频,可从以下网站获得GitHub

接下来,通过阅读本系列的第三部分,学习如何在anplan模型中使用这些数据:第三部分:anplan报表模型中的anplan审计历史数据

作者:奎恩·艾迪,@QuinE-卓越运营小组(OEG)数据集成总监