Python 不加载文件的JSON格式验证
如何在不加载文件的情况下验证JSON格式?我正在将文件从一个S3存储桶复制到另一个S3存储桶。在JSONL文件 复制后,我想检查文件格式是否正确,即大括号和逗号是否正确Python 不加载文件的JSON格式验证,python,json,amazon-s3,Python,Json,Amazon S3,如何在不加载文件的情况下验证JSON格式?我正在将文件从一个S3存储桶复制到另一个S3存储桶。在JSONL文件 复制后,我想检查文件格式是否正确,即大括号和逗号是否正确 我不想使用json.load(),因为文件大小和数量都很大,它会减慢进程,而且文件已经被复制,因此无需解析,只需验证即可。流式传输文件似乎是解决问题的方法,将其放入生成器中,逐行生成,以检查json是否有效。请求库支持文件流 解决方案如下所示: 请告诉我您需要更好的说明Amazon S3本身没有验证对象内容的功能 您可以将S3配
我不想使用json.load(),因为文件大小和数量都很大,它会减慢进程,而且文件已经被复制,因此无需解析,只需验证即可。流式传输文件似乎是解决问题的方法,将其放入生成器中,逐行生成,以检查json是否有效。请求库支持文件流 解决方案如下所示:
请告诉我您需要更好的说明Amazon S3本身没有验证对象内容的功能 您可以将S3配置为在S3存储桶中创建文件时触发AWS Lambda函数。如果验证失败,Lambda函数可以解析文件并执行一些操作(例如发送通知或将对象移动到另一个位置)
import requests
def get_data():
r = requests.get('s3_file_url', stream=True)
yield from r.iter_lines():
def parse_data():
# initialize generator
gd_gen = get_data()
while True:
try:
ge_gen.__next__()
except StopIteration:
break
# put your validation code here