Chef 数据包和动态变量传递

Chef Data Bags and dynamic variable passing

我正在想办法让下面的代码工作;我尝试了各种方法,但主厨客户端 运行 在第 3 行中断。

lsf = "#{node[:env]}"+"_ls"
dsf = "#{node[:env]}"+"_ds"

dsTemplateBag = data_bag_item('configTemplates', "#{dsf}") 
lcTemplateBag = data_bag_item('configTemplates', "#{lsf}")

然而,在另一个测试配方中,我能够成功地实现以下工作:

env = "test"

dsTemplateBag = data_bag_item('configTemplates', "#{env}")

我是 Chef 的新手,请问有人能告诉我如何让它工作吗?

经过一点点调试后,我发现有一个错字导致无法正确使用数据包;因此问题。

dsTemplateBag = data_bag_item('configTemplates', "#{node[:env]}_ls")

这对我有用。正如 Tensibai 在上面的评论中所建议的那样,混合连接和插值并不是一个好的做法(我非常想让它工作!在我的辩护中)。