Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确保Python中数据完整性的最佳方法_Python_Json_Api_Data Integrity_Python Collections - Fatal编程技术网

确保Python中数据完整性的最佳方法

确保Python中数据完整性的最佳方法,python,json,api,data-integrity,python-collections,Python,Json,Api,Data Integrity,Python Collections,tl;博士: 在Python中,是否有数据完整性验证的有效方法 简介: 我正在开发一个框架,(a)从开发人员可以构建的多个API服务中摄取类似类型的数据,(B)允许用户/开发人员创建与数据管道的集成,然后(C)返回到与相同或新的API服务交互 数据流: A->B->C 该框架提供的3主要设施包括: 给定API的共享上下文(允许速率限制设施、帐户凭据等) 各种数据集成组件的共享上下文(允许一个参与者为管道中的后续参与者生成有用的输出) 从API传入的实际数据(可能是websocket或定期/计划的

tl;博士

在Python中,是否有数据完整性验证的有效方法

简介:

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

数据流: A->B->C

该框架提供的3主要设施包括:

  • 给定API的共享上下文(允许速率限制设施、帐户凭据等)
  • 各种数据集成组件的共享上下文(允许一个参与者为管道中的后续参与者生成有用的输出)
  • 从API传入的实际数据(可能是websocket或定期/计划的API响应)
  • 要求:

    这样,我需要3组类型的数据。在这些数据集中,数据将具有以下要求:

  • 一个Python
    类型
    ,包含任何传入的JSON结构
  • 对象应该是不可变的
  • 需要有表现。目标是尽可能实现接近实时的API交互
  • 很高兴拥有:

  • 在分组或定义文件中最小限度地定义类型的能力
  • 属性应该可以通过名称、键等进行引用
  • 应该能够高效地从JSON序列化到JSON
  • 安全性也是一个问题——我们希望相信数据没有被操纵,在某些情况下,我们希望过滤敏感值
  • 现在的位置:

    这个项目一开始使用
    namedtuples
    来翻译
    dict
    ——类似于JSON结构,但它需要相当多的扩展。例如:虽然两个不同的API具有基本相似的对象,但数据上的参与者需要它是一致的。这需要为每个API创建一个转换层,为每个API创建一组额外的对象定义,并且使得对
    namedtuples
    库方式的要求更加复杂和繁琐

    下一步,我要么创建一个基于预定义结构生成不可变对象的
    元类,要么创建一个子类
    namedtuples
    ,添加几个helper方法


    有了这一点,我想在我提出自己的想法之前,我会接触社区,看看你们是否有任何想法。

    你的情况听起来很复杂,但我想你需要的是。你的建议听起来似乎有点超出了合理范围,而我自己的想法听起来需要做很多工作。我将在另一个分支上构建一个
    marshmallow
    实现,并用细节回答我自己的问题。谢谢,@georgexsh!你的情况听起来很复杂,但我想你所需要的是。你的建议听起来似乎有点超出了账单的范围,而我自己的建议听起来需要做很多工作。我将在另一个分支上构建一个
    marshmallow
    实现,并用细节回答我自己的问题。谢谢,@georgexsh!