← 返回题库
中级

基于路由规则分发请求

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    routing_csv = open_url(____).read()
    reg_csv = open_url(____).read()
    routing = pd.read_csv(StringIO(____))
    reg = pd.read_csv(StringIO(____))
    def route_request(____):
        rules = routing.sort_values(____)
        for _, rule in rules.iterrows():
            if path.startswith(____):
                svc = rule['____']
                instances = reg[(____)&(____)&(____)]
                if instances.empty:
                    instances = reg[(____)&(____)]
                if not instances.empty:
                    return svc, instances.iloc[____]['____']
        return None, None
    paths = ['____','____','____','____']
    for path in paths:
        ver = '____' if '____' in path else '____'
        svc, inst = route_request(____)
        print(____)

示例

输入
solve()
期望输出
/api/v1/devices/DEV001/data -> data-ingestion/di-1
/api/v1/alerts/recent -> alert-engine/ae-1
/api/v1/commands/CMD001 -> cmd-dispatcher/cd-1
/api/v2/devices/DEV001/data -> data-ingestion/di-3
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码