0
我想从ec3实例下载s3的文件并获取低于错误。我创建了提供密钥的数据库项目access.json。请帮助厨师食谱NoMethodError厨师::资源:: S3File未定义的方法`访问'
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/s3_file/recipes/default.rb
================================================================================
NoMethodError
-------------
undefined method `access' for Chef::Resource::S3File
Cookbook Trace:
---------------
/var/chef/cache/cookbooks/s3_file/recipes/default.rb:13:in `block in from_file'
/var/chef/cache/cookbooks/s3_file/recipes/default.rb:10:in `from_file'
Relevant File Content:
----------------------
/var/chef/cache/cookbooks/s3_file/recipes/default.rb:
6: #
7: # All rights reserved - Do Not Redistribute
8: #
9: ws = data_bag_item('cred1', 'access.json')
10: s3_file 'xxxxxxxxxxx' do
11: bucket 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
12: remote_path 'xxxxxxxxxxxxxxxxxxxx'
13>> aws_access_key_id access.json['aws_access_key_id']
14: aws_secret_access_key access.json['aws_secret_access_key']
15: region 'us-west-1'
16: owner "root"
17: group "root"
18: mode 0777
19: end
20:
21:
access.json是databag项目
实际配方
ws = data_bag_item('cred1', 'access.json')
s3_file 'xxxxxxxxx' do
bucket 'xxxxxxxxxxxxxxx'
remote_path 'xxxxxxxxxxxx'
aws_access_key_id access.json['aws_access_key_id']
aws_secret_access_key access.json['aws_secret_access_key']
region 'us-west-1'
owner "root"
group "root"
mode 0777
end
感谢您的回复。现在,它得到下述错误: NoMethodError ------------- 未定义的方法'区域”的厨师::资源:: S3File 如果我删除它,然后它给以下错误: RestClient :: ResourceNotFound ---------------------------- 404 Resource Not Found – Dave
's3_file'食谱不支持' region'属性,所以这可能是S3上的权限错误或凭证不正确。我建议阅读[s3_file食谱](https://supermarket.chef.io/cookbooks/s3_file)上的文档。 – vase