问题描述
为了为我正在处理的项目编写集成测试,我需要读取一个包含大量嵌套级别的 YAML 文件,修改某些值并写回文件以防止有几个几乎没有区别的配置文件。 (因此我可以为每个测试更改具有不同值的相同配置文件)。但是编组和解组需要定义一个预定义的结构,否则我必须在运行时动态处理这些值。由于我有一个非常大的配置文件(400 行嵌套级别),其中包含很多嵌套结构,因此很难有预定义的结构。所以我必须动态处理这些值。但是当我有多个嵌套值时,这也可能是一项艰巨的任务。
admin:
access_log_path: /dev/null
address:
socket_address:
address: 0.0.0.0
port_value: 9000
bootstrap_extensions:
- name: envoy.bootstrap.wasm
typed_config:
'@type': type.googleapis.com/envoy.extensions.wasm.v3.WasmService
singleton: true
config:
name: "singleton_service"
root_id: "singleton_service"
configuration:
"@type": type.googleapis.com/google.protobuf.StringValue
value: |
{
"upstream_config": {
"name": "outbound|443||su1.3scale.net","url": "https://su1.3scale.net","timeout": 20
},"delta_store_config": {
"capacity": 3,"periodical_flush": "60s","retry_duration": "30s","await_queue_capacity": 200,"flush_mode": "Default"
}
}
vm_config:
runtime: "envoy.wasm.runtime.v8"
vm_id: "my_vm_id"
code:
local:
filename: "/usr/local/bin/singleton_service.wasm"
configuration: {}
allow_precompiled: true
是否有一种简单的方法可以更改以下部分中 upstream_config
json 字符串的值? (无需定义多个接口来读取每个嵌套级别)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)