我想使用vars. 目前,我正在做如下
vars:
var1_name: "var1_value"
var2_name: "var2_value"
Run Code Online (Sandbox Code Playgroud)
由于变量的数量可以增加,我宁愿使用vars. 我已经构建了一个变量字典,如下所示
- name: set fact
hosts: localhost
tasks:
- set_fact:
variables: "{{ variables|default({}) | combine( {item.variable: item.value} ) }}"
with_items:
- variable: var1_name
value: "var1_value"
- variable: var2_name
value: "var2_name"
Run Code Online (Sandbox Code Playgroud)
字典看起来像这样:
"variables": {
"var1_name": "var1_value",
"var2_name": "var2_value",
}
Run Code Online (Sandbox Code Playgroud)
现在,我想让这个字典中的变量可用于在其他主机上执行的角色。
但是,当我试图通过字典来vars喜欢下面
vars: "{{ variables }}"
Run Code Online (Sandbox Code Playgroud)
Ansible 抛出错误:
ERROR! Vars in a Play must be specified as a dictionary, or a list of dictionaries
Run Code Online (Sandbox Code Playgroud)
如何传入字典变量vars?
我有 3 个不同类型的键控数据流。
DataStream<A> first;
DataStream<B> second;
DataStream<C> third;
Run Code Online (Sandbox Code Playgroud)
每个流都定义了自己的处理逻辑,并在它们之间共享状态。我想连接这 3 个流,只要任何流中有数据可用,就会触发相应的处理函数。可以连接两个流。
first.connect(second).process(<CoProcessFunction>)
Run Code Online (Sandbox Code Playgroud)
我无法使用联合(允许多个数据流),因为类型不同。我想避免创建包装器并将所有流转换为相同类型。