async def instance_monitor(ns={}): """ 云服务器监控 """ import aiohttp ecs_url = 'http://api.capitalonline.net/ecs/v1' action = "DescribeInstanceMonitor" method = "POST" body = { "EcsId": ns.get("EcsId"), "StartTime": ns.get("StartTime"), "EndTime": ns.get("EndTime"), "Indicators": json.loads(ns.get("Indicators")) if ns.get("Indicators") else [], } param = {} url = get_signature(action, method, ecs_url, param) async with aiohttp.ClientSession() as session: async with session.request(method, url, json=body) as response: resp = await response.text() result = json.loads(resp) if 'Message' in result.keys(): key_word = 'Message' else: key_word = 'Msg' if result['Code'] == 'Success': result['status'] = True result.pop('Code') result['data'] = result.pop('Data') result['msg'] = result.pop(key_word) else: result['status'] = False result['msg'] = result.pop(key_word) return result ret = await instance_monitor(params_kw) return ret