如何从 json 日志中查找持续时间

How to find the duration time from json logs

我有以下 json 个基于 DynamoDB 查询的日志

{
    "message": "Dynamo response:::, {'Attributes': {'Status': {'S': 'COMPLETED'}, 'updateDateTime': {'S': '2022-03-25 15:59:09'}, 'EndTime': {'S': '2022-03-25 15:57:09'}, 'warning': {'S': 'Some Process'}}, 'ResponseMetadata': {'RequestId': 'P0IQDDEI9KTG5QU6HR0P688MARVV4KQNSO5AEMVJF66Q9ASUAAJG', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Server', 'date': 'Fri, 25 Mar 2022 15:57:09 GMT', 'content-type': 'application/x-amz-json-1.0', 'content-length': '176', 'connection': 'keep-alive', 'x-amzn-requestid': 'P0IQDDEI9KTG5QU6HR0P688MARVV4KQNSO5AEMVJF66Q9ASUAAJG', 'x-amz-crc32': '923138425'}, 'RetryAttempts': 0}}

从这里我们有 updateDateTime 和 EndTime 我想打印更新所花费的总时间,即 updateDateTime - EndTime。这里 S 表示字符串。我是 python

的初学者
import json
from datetime import datetime
json_resp = json.loads(S)
updateDateTime = datetime.strptime(json_resp['updateDateTime'], '%Y-%m-%d %H:%M:%S')
endTime = datetime.strptime(json_resp['EndTime'], '%Y-%m-%d %H:%M:%S')
time_taken = updateDateTime - endTime

time_taken 变量将包含一个 Timedelta 对象,您可以从中获取秒数。