初级
生成认证事件审计日志
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd, json
keys_csv = open_url("https://data.zuihe.com/dbd/ms-iot/state_02/device_keys.csv").read()
tokens_csv = open_url("https://data.zuihe.com/dbd/ms-iot/state_02/device_tokens.csv").read()
keys = pd.read_csv(StringIO(keys_csv))
tokens = pd.read_csv(StringIO(tokens_csv))
def auth_event(device_id, event_type, result, timestamp):
return json.dumps({'device_id':device_id,'event':event_type,'result':result,'ts':timestamp})
events = []
for _, k in keys.iterrows():
evt = 'key_verified' if k['is_active'] else 'key_inactive'
events.append(auth_event(k['device_id'], evt, 'ok' if k['is_active'] else 'rejected', 1748736000))
revoked = tokens[tokens['is_revoked']==1]
for _, t in revoked.iterrows():
events.append(auth_event(t['device_id'], 'token_revoked', 'revoked', t['issued_at']))
print(f"认证事件数: {len(events)}")
for e in events[:5]: print(e)
示例
输入
solve()
期望输出
认证事件数: 11
{"device_id": "DEV001", "event": "key_verified", "result": "ok", "ts": 1748736000}
{"device_id": "DEV002", "event": "key_verified", "result": "ok", "ts": 1748736000}
{"device_id": "DEV003", "event": "key_verified", "result": "ok", "ts": 1748736000}
{"device_id": "DEV004", "event": "key_verified", "result": "ok", "ts": 1748736000}
{"device_id": "DEV005", "event": "key_verified", "result": "ok", "ts": 1748736000}
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199