You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Meraki组织上行链路API查询失败连接并转换networkId为网络名称

解决方案

完整可运行代码

import requests
import pprint

# 第一步:填写你自己的networkId和网络名称映射表,根据你的实际50个网络信息补充即可
NETWORK_ID_MAPPING = {
    "A_1234567890": "示例网络1",
    "A_0987654321": "示例网络2"
    # 继续补充你所有网络的对应关系
}

# 替换成你自己的组织ID和API密钥
ORG_ID = "你的组织ID"
API_KEY = "你的Meraki API密钥"

url = f"https://api.meraki.com/api/v1/organizations/{ORG_ID}/uplinks/statuses"

payload = None
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Cisco-Meraki-API-Key": API_KEY
}

response = requests.request('GET', url, headers=headers, data=payload)

# 先判断API请求是否成功
if response.status_code != 200:
    print(f"API请求失败,状态码:{response.status_code},错误信息:{response.text}")
else:
    all_uplink_status = response.json()
    # 存储所有失败的上行链路信息
    failed_uplinks = []
    
    # 遍历所有设备的上行链路状态
    for device_info in all_uplink_status:
        network_id = device_info["networkId"]
        # 从映射表取网络名称,没匹配到的话默认显示未知网络
        network_name = NETWORK_ID_MAPPING.get(network_id, "未知网络")
        # 遍历该设备的所有上行链路
        for uplink in device_info["uplinks"]:
            if uplink["status"] == "failed":
                # 收集需要的字段
                failed_info = {
                    "网络名称": network_name,
                    "networkId": network_id,
                    "故障接口": uplink["interface"]
                }
                failed_uplinks.append(failed_info)
    
    # 输出结果
    if not failed_uplinks:
        print("所有上行链路状态正常,无故障接口")
    else:
        print("检测到以下故障上行链路:")
        for item in failed_uplinks:
            pprint.pprint(item)

核心逻辑说明

  • 首先定义NETWORK_ID_MAPPING字典实现networkId到网络名称的映射,你只需要把你50个网络的对应关系按照示例格式补充进去即可
  • 先做API请求异常判断,避免接口报错时后续逻辑直接崩溃
  • 采用双层for循环遍历:第一层遍历所有设备的返回结果,第二层遍历单设备的所有上行链路,只筛选状态为failed的链路
  • 仅保留你需要的网络名称、networkId、故障接口三个字段,自动忽略IP、DNS等无关字段
  • 没有匹配到映射关系的networkId会默认显示未知网络,不会触发程序报错

内容的提问来源于stack exchange,提问作者Juriaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:15:00