确保Python

时间:2017-10-16 19:40:36

标签: python json api data-integrity python-collections

TL;博士

在Python中是否有一种高效的数据完整性验证方法?

梗概:

我正在开发一个框架,(A)从开发人员可以构建的多个API服务中提取相似类型的数据(B)允许用户/开发人员创建与数据管道的集成,然后(C)返回与相同或新的API服务交互。

数据流: A - > B - > C

框架提供的 3 主要设施是:

  1. 给定API的共享上下文(允许速率限制设施,帐户凭据等)
  2. 各种数据集成组件的共享上下文(允许一个actor为管道中的后一个actor生成有用的输出)。
  3. 从API传入的实际数据(可能是websocket或定期/预定的API响应)。
  4. 要求:

    有了这个,我需要 3 类型的数据。在每个集合中,数据将具有以下要求:

    1. 单个Python type以包含任何传入的JSON结构。
    2. 对象应该是不可变的。
    3. 需要具备高效率。目标是尽可能实现近乎实时的API交互。
    4. 很高兴:

      1. 能够在分组或定义文件中以最小的方式定义类型。
      2. 属性应按名称,密钥等引用
      3. 应该能够有效地序列化到JSON或从JSON序列化。
      4. 安全性也是一个问题 - 我们希望相信数据没有被操纵,在某些情况下我们想要过滤敏感值。
      5. 现在的位置:

        这个项目最初使用namedtuples来翻译dict - 就像JSON结构一样,但它需要相当多的扩展。例如:虽然两个不同的API具有大部分相似的对象,但该数据上的actor需要它是全等的。这需要为每个API创建一个转换层,为每个API创建一组额外的对象定义,并使namedtuples库的需求变得更加复杂和繁琐。

        下一步是让我创建一个基于预定义结构生成不可变对象的metaclass,或者创建子类namedtuples,添加几个辅助方法。

        有了这个,我想我会联系社区,看看你们有没有任何想法,然后再推出自己的想法。

0 个答案:

没有答案