向任何google数据存储ndb实体添加审计跟踪

ndb-audit的Python项目详细描述


Build Status

向任何 NDB实体 (包括 Expando基 模型)由engineering team at Gain Compliance构建。

数据结构针对 读取性能和数据大小的开销。然而,它是 对你添加的实体进行微创。只增加了两个 主实体的属性总计32个字符 防止您按“常规获取”键进行正常操作

您应该阅读下面对数据模型的描述(尤其是 实体组)以确保不会导致数据存储争用问题 如果egs太大

功能

  • 实体变更的完整历史记录应 易于查询
  • 当实体被放置时,审计历史记录会自动更新,即使 所有实体的属性都相同
  • 支持帐户(字符串)、时间戳(日期时间)、数据哈希(sha-1 of 属性)跟踪
  • 审计历史的强一致性检索
  • (WIP)灵活的“标签”系统跟踪链的进展 用户、系统等的更改
  • (未来)“修订时”获取数据
  • (未来)修订之间的差异
  • (未来)碰撞检测和合并

数据模型

对于“e kind”类型的给定实体“e”,ndb_audit将监视所有的put 对那些包括了这些人的实体。新的审计实体“A” 将创建实体的完整副本。实体 a将具有以下功能:

  • A将是一种“审计”
  • 如果 namespace_manager 使用
  • a将包含e的每个数据存储属性的副本 它被放在
  • a的父实体将是e
  • a的键将是ndb.key(parent=,pairs=[('audit',)])
  • 将向e添加一个名为“d”的属性和一个python属性 将作为数据哈希添加到您的类中以访问此值。这个 将值添加到您的实体,以允许基于 所有客户端的数据哈希。对于给定的数据值,hash将 总是一样的。数据哈希是 实体的属性
  • 一个名为'h'的属性将被添加到e中,一个python属性 将作为rev_hash添加到您的类中以访问此值。这个 值将添加到您的实体中,以允许您跟踪哪个修订 当前实体位于。rev_散列是 的父版本哈希、帐户字符串和数据哈希属性 实体
  • 不会将其他属性添加到e中,而是必须 获取审计实体-这将使e的开销尽可能小 可能

用法

待办事项

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JList侦听器找不到符号   多点触摸跨平台java应用程序(Windows、Mac和Linux(Ubuntu)(可能是Android))   在UnitTest中找不到java类加载器资源   java当我尝试在Eclipse中运行我的minecraft mod时,我总是遇到这个错误,这是什么意思?   内部有一个同步块的静态方法,在java中阻止整个类?   不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef   java运行时常量池GC集合   java无法解析配置“:app:\u debugApk”的所有依赖项。找不到名为“default”的配置   在GCP计算引擎中托管Neo4j的java   java如何从BroadcastReceiver更新片段选项卡?   线程“main”组织中的java异常。冬眠注释异常:@org。冬眠注释。表引用未知表:ProductForPractice   在Java/Groovy中嵌入处理   java Android REST教程/示例项目   java我可以在同一测试中在一个模拟器上启动应用程序,在另一个模拟器上启动移动浏览器吗?   java如何更改通知横幅的方向?   安卓 Java帮助实现Firebase授权   if else之后的rs.next()中出现java错误?