在Chef中,如何从环境文件到厨师食谱读取属性?

时间:2018-09-28 17:23:49

标签: chef cookbook recipe

我正在使用厨师食谱将文件从s3存储桶下载到AWS实例, 现在我的存储桶名称会随着dev,qa和prod之类的环境而变化。

我正在使用这样的命令,但是它不起作用,任何人都可以帮忙 execute "Downloading files from S3" do command "aws s3 sync s3://node['Bucket']/ /prod/users/myfiles/" cwd "/prod/" action :run end

I tried s3://#{node['Bucket']}/ 没用

env文件 "default_attributes": { "Bucket": "s3://mybucket" }

2 个答案:

答案 0 :(得分:0)

如果这确实是您所处环境中的东西,那么ConstructorFunction是正确的。您确实需要node['Bucket'],因为您是在字符串中进行插值,所以#{}

答案 1 :(得分:0)

怎么样?

command "aws s3 sync s3://" + node['Bucket'] + "/ /prod/users/myfiles/"