管道符 Pipeline
管道符
为了在 YAML 中实现类似 JavaScript 的链式数据处理,AzureFlow 引入了管道符的语法扩展。
注意:在使用管道符时,确保每个操作符的语法正确,避免因语法错误导致配置解析失败。对于复杂的数据处理链,建议逐步测试每个管道操作,确保每一步的输出符合预期。
在下述示例中,attributes | sample(5)
表示从定义的属性列表中随机抽取 5 个元素。
data:
attributes | sample(5):
- name: "物理攻击"
value: random.int(1, 100)
- name: "法术攻击"
value: random.int(1, 100)
- name: "暴击率"
value: random.int(1, 100)
- name: "生命值"
value: random.int(1, 100)
- name: "护甲"
value: random.int(1, 100)
- name: "魔抗"
value: random.int(1, 100)
管道符支持多重链式调用,实现更复杂的数据处理逻辑。
data:
attributes | filter(attr => attr.value > 50) | sort_by('value', 'desc') | sample(3):
- name: "物理攻击"
value: random.int(1, 100)
- name: "法术攻击"
value: random.int(1, 100)
- name: "暴击率"
value: random.int(1, 100)
- name: "生命值"
value: random.int(1, 100)
- name: "护甲"
value: random.int(1, 100)
- name: "魔抗"
value: random.int(1, 100)
上述配置将属性列表中值大于 50 的元素进行降序排序后,随机抽取 3 个元素。
AzureFlow 对 YAML 语法的增强,使得配置文件更具可读性和可维护性。
通过支持原生 YAML 数据结构和引入管道符的链式数据处理,可以更高效地定义和管理复杂的数据配置。
建议在实际项目中逐步采用新的 YAML 语法,以充分利用其带来的优势。
最后更新于