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

使用AWS CDK Python创建WAF多个IPSet的代码优化方法咨询

优化写法

你可以将IPSet的可变参数抽成配置列表,通过循环批量创建实例,完全不需要重复写重复的参数逻辑,后续新增IPSet只需要加配置条目即可,代码如下:

# 定义所有IPSet的差异化配置,后续维护仅需修改这个列表
ip_set_configs = [
    {
        "id": "WAFTESTIPSET01",
        "description": "Block test01",
        "ip_address_version": "IPV4",
        "addresses": []
    },
    {
        "id": "WAFTESTIPSET02",
        "description": "Block test02",
        "ip_address_version": "IPV6",
        "addresses": []
    },
    {
        "id": "WAFTESTIPSET03",
        "description": "Block test03",
        "ip_address_version": "IPV4",
        "addresses": []
    }
]

# 批量创建IPSet,结果存入字典方便后续调用
ip_sets = {}
for cfg in ip_set_configs:
    ip_sets[cfg["id"]] = wafv2.CfnIPSet(
        scope_=self,
        scope="REGIONAL",
        **cfg
    )

写法优势

  • 重复参数(scope_、scope)仅需声明一次,无冗余代码
  • 维护成本低,新增、修改、删除IPSet只需调整配置列表,不需要修改创建逻辑
  • 所有实例统一存在ip_sets字典中,既可以通过id单独调用(比如ip_sets["WAFTESTIPSET01"]),也可以直接遍历字典做批量操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:00:03