1.示例一

1.1场景CMDB系统中大量应用实例更具应用实例登陆对应机器进行操作应用程序

1.2 接口数据结构格式如下:
{
"code": 0,
"data": [{
"appId": "AC15F42500000005E0AEADEB2998ED62",
"createTime": "2020-03-05T15:22:32+08:00",
"departmentId": 1086,
"env": "prod",
"group": "prod",
"id": "AC15F42600000005E60A8B8973672BED",
"instanceName": "app-service"
"ip": "192.168.1.1",
"owner": "",
"port": "10762",
"updateTime": "2020-03-05T15:22:32+08:00",
"used": "基础组件服务",
"users": "lisi",
"zone": ""      
},{
     ................................,
  }
]  
}
1.3 数据结构分析数据类型字典包含 vlaue值为列表多个字段属性

1.思路 发送http请求获取接口数据 遍历字典包含列表多个字段.定义空字典和空list 数据组成进行 返回;

import requests
import logging
from datetime import date,datetime
logging.basicConfig(filename='scriptRun.log', filemode="a+",level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', encoding='utf-8')
logger = logging.getLogger(__name__)

def getAppData():
    data=requests.get("http:///cmdb/api/v1/do/?t=instance")
    try:
    	result=data.json()
    	appdata={}
    	applist=[]
    	for i in result["data"]:
              if i["env"] == "prod":
                 appdata={"appname":i["appName"],"ip":i["ip"]}
           	 applist.append(appdata)
    	return applist
     except Exception as e:
        msg = 'get date error' + str(e)
        logger.error(msg)

getAppData()