小编use*_*551的帖子

如何在 vars 中使用已注册 ansible 变量的字典?

我想使用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

ansible ansible-facts

10
推荐指数
2
解决办法
1万
查看次数

Flink中如何连接2个以上的流?

我有 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)

我无法使用联合(允许多个数据流),因为类型不同。我想避免创建包装器并将所有流转换为相同类型。

apache-flink flink-streaming

6
推荐指数
2
解决办法
3592
查看次数